三维观察与坐标变换

原创 2005年04月22日 22:35:00
三维观察与坐标变换
三维景物视图的计算机生成过程类似于用相机对物体的拍照过程。我们需要对相机定位,并决定镜头的方向。按下快门时,相当于用镜头作为窗口对景物进行裁剪。
在计算机图形学中,我们可以在世界坐标系中通过建立观察坐标系来实现对三维物体的观察。(见下图1)
一,建立观察坐标系,将世界坐标系中三维物体的坐标转化为观察坐标。
二,在观察坐标系中建立观察平面,将观察坐标再投影到观察平面上。

Yw
Xw
Zw
Xv
Zv
Yv
                图1   世界坐标系与观察坐标系
 

CY
 
 
 
 


X
Y
。point
CX
图2   Window GDI 下坐标系
 
 

(0,0)
(1,0)
(0,1)
(-1,0)
(0,-1)
图3  OpenGL 下标准设备坐标系
 
 

后截面
前截面
观察窗口
 
h
 
图 4 透视投影的有限观察空间
假设我们想要实现用鼠标左键点击画点:
在窗口中按下鼠标左键,发出WM_LButtonDown消息,void OnLButtonDown(UINT nFlags, CPoint point)函数处理该消息,其中point是相对于图2中坐标系,要想在屏幕中正确的显示,必须将该点坐标值转化成OpenGL下标准的设备坐标。
第一步,将GDI下坐标转化为观察坐标下坐标值。假设建立的是透视投影观察坐标系
       ::gluPerspective(90.0f, aspect_ratio, .01f, 100.0f);
       X_ratio = point.x / CX;
       Y_ratio = point.y / CY;
 
       h代表该点在观察坐标系中z轴的大小,也即深度信息。
       用h和视角可以求出该点所在截面的长和宽。
       根据X_ratio和Y_ratio求出该点在截面中的坐标值
第二步,由OpenGL本身将截面中坐标投影到标准设备坐标。
 
      

三维坐标变换

  • 2017年11月15日 19:04
  • 2.47MB
  • 下载

Direct3D中的三维坐标变换.rar

  • 2010年12月05日 19:40
  • 1.48MB
  • 下载

Android OpenGL ES 开发教程(14):三维坐标系及坐标变换初步

OpenGL ES图形库最终的结果是在二维平面上显示3D物体(常称作模型Model)这是因为目前的打部分显示器还只能显示二维图形。但我们在构造3D模型时必须要有空间现象能力,所有对模型的描述还是使用三...
  • mapdigit
  • mapdigit
  • 2012年05月25日 08:11
  • 10023

Android OpenGL ES 开发教程(14):三维坐标系及坐标变换初步

OpenGL ES图形库最终的结果是在二维平面上显示3D物体(常称作模型Model)这是因为目前的打部分显示器还只能显示二维图形。但我们在构造3D模型时必须要有空间现象能力,所有对模型的描述还是使用三...
  • jeanszu
  • jeanszu
  • 2012年07月18日 17:30
  • 1034

Android OpenGL ES 开发教程(14):三维坐标系及坐标变换初步

OpenGL ES图形库最终的结果是在二维平面上显示3D物体(常称作模型Model)这是因为目前的打部分显示器还只能显示二维图形。但我们在构造3D模型时必须要有空间现象能力,所有对模型的描述还是使用三...

三维坐标变换

图像坐标轴: u、v 图像物理坐标:x、y、z 摄像机坐标:Xc、Yc、Zc 世界坐标系:Xw、Yw、Zw 》由于图像坐标系是以像素为单位的,是数字量,而后期处理需要的是物理坐标系...

HDU 4449 Building Design 三维凸包+空间坐标变换

题意:给你一个三维空间的一些点,让你求一个三维凸包,并且旋转这个凸包,使得一个面贴地,并且高度最高,高度相同的情况下,映射到地面的面积最小。思路:求一个三维凸包,然后枚举每一个面作为底面,然后套一个模...
  • s_h_r
  • s_h_r
  • 2015年10月28日 11:42
  • 508

三维坐标系及坐标变换初步

http://disanji.net/2011/07/07/android-opengl-es-%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B14%EF%BC%9A%E4%B...

Android OpenGL ES 开发教程(14):三维坐标系及坐标变换初步

转自:http://www.imobilebbs.com/wordpress/?p=1998 OpenGL ES图形库最终的结果是在二维平面上显示3D物体(常称作模型Model)这是因为目前...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三维观察与坐标变换
举报原因:
原因补充:

(最多只允许输入30个字)