1、甘朝华,第七章 三维观察,7.1 三维观察与观察流程 7.2 三维观察坐标系 7.3 投影变换 7.4 三维裁剪算法,在三维图形的处理和显示中,尽管只在二维的基础上添加了z坐标方向的第三维空间,但三维观察的处理和显示的复杂度却大大增加了。 场景建模 观察变换过程 三维图形的裁剪 隐藏线、面的消隐处理 光照模型、纹理贴图等处理,7.1 三维观察与观察流程,三维观察过程与使用照相机拍摄照片相类似。,7.1 三维观察与观察流程,三维模型坐标系(3DMC) 世界坐标系(3DWC) 三维观察坐标系(3DVC),7.2 三维观察坐标系,在从世界坐标系向三维观察坐标系变换的过程中,首先需要在世界坐标系中定义
2、三维观察坐标系,然后得到观察变换的计算矩阵,再将此变换矩阵作用于世界坐标系的图形对象,即可得到三维观察坐标系中图形的描述。,7.2 三维观察坐标系,在实际生活中为了从不同的角度和方向对物体进行观察,一般是通过移动视点的方法来实现的。在三维观察变换中是通过在世界坐标系中定义不同的观察坐标系的原点(称为观察参考点、观察位置或视点等),并在观察方向上定义不同的观察平面来获得各种观察效果。,7.2.1 三维观察坐标系定义,7.2 三维观察坐标系,通常在观察坐标系中定义一个平面用来作为裁剪窗口所在平面,即观察平面(或投影平面)。,7.2.1 三维观察坐标系定义,7.2 三维观察坐标系,定义另一个用来确定
3、 正向的观察向上向量V。,7.2.1 三维观察坐标系定义,7.2 三维观察坐标系,由于三维笛卡尔直角坐标系满足正交特性,在确定了观察平面法向量N和观察向上向量V后,可计算出与N、V垂直的第三个向量U,即定义 正向的向量。单位向量n、v、u形成了一个右手观察坐标系的轴向量,称此为uvn观察坐标系。,7.2.1 三维观察坐标系定义,7.2 三维观察坐标系,在世界坐标系中定义了观察坐标系之后,将图形对象的描述转换到观察坐标系的变换等价于将观察坐标系与世界坐标系重合的变换。,7.2.2 世界坐标系向三维观察坐标系的变换,7.2 三维观察坐标系,图形对象在观察平面的投影与在输出设备上显示的图形保持一致。
4、在建立观察坐标系和观察平面后,可通过改变视点的位置或改变N的方向使用户可在不同的距离和角度观察三维图形对象。,7.2.3 生成观察效果,7.2 三维观察坐标系,(1)保持视点位置不变,通过改变N的方向来得到多种观察效果。 (2)保持N的方向不变,而改变视点位置也可获得多种观察效果。 (3)视点和N的方向同时改变,可取得在场景中漫游的视觉效果。,7.2.3 生成观察效果,7.3 投影变换,投影变换是一种人们观察自然景物并以某种方式将其观察结果映射到平面介质的观察方式,常被画家或制图人员用来作为把三维立体物体投射到投影面上得到二维平面图形的主要手段。 平行投影(parallel projectio
5、n) 透视投影(perspective projection),7.3 投影变换,平行投影可根据投影方向与投影面的夹角分为两类:正投影和斜投影。投影方向与投影面的夹角为90的投影为正投影(orthogonal projection,或正交投影,orthographic projection),否则为斜投影(oblique parallel projection)。,7.3.1 平行投影,7.3 投影变换,正投影:,7.3.1 平行投影,7.3 投影变换,正投影变换 裁剪窗口及正投影观察体的建立,7.3.1 平行投影,7.3 投影变换,正投影的规范化变换在三维观察流程中,建立了投影观察体后要将观
6、察坐标系中落在正投影观察体内的图形描述转换到规范化观察体中。通常将屏幕坐标系定义为三维左手系,xoy平面与屏幕表面重合在一起,原点位于屏幕左下角,y轴正向从下向上,x轴正向则由左至右,而z轴正向则由屏幕表面指向内部。故规范化观察体也被定义为左手系。,7.3.1 平行投影,7.3 投影变换,经过透视投影变换,平行于观察平面的线条投影后仍然平行。但与观察平面不平行的平行线组投影后将会汇聚于一点,该点被称为灭点(vanishing point)。,7.3.2 透视投影,7.3 投影变换,透视投影观察体,7.3.2 透视投影,7.3 投影变换,透视投影观察体,7.3.2 透视投影,7.3 投影变换,透视投影变换,7.3.2 透视投影,7.3 投影变换,对称的透视投影观察体,7.3.2 透视投影,7.4 三维裁剪算法,三维裁剪算法就是以投影观察体的边界平面为区域范围通过一定的算法将图形对象区分为内部和外部两部分,处于内部区域的图形对象将会在输出设备上显示,而处于区域外部的图形对象将被消除掉。(略),习题,Q&A?,