1、第八章第八章 投影投影8.1 三维图形的基本问题 8.2 平面几何投影 8.3 观察坐标系中的投影变换 *投影举例 8.4 三维图形的显示流程图 8.5 三维裁剪 *图形显示过程小结 8.1 三维图形的基本问题三维图形的基本问题(4个个)(1/4)显示器屏幕、绘图纸等是二维的显示器屏幕、绘图纸等是二维的显示对象是三维的显示对象是三维的解决方法解决方法-投影投影二维形体的表示二维形体的表示-直线段直线段,折线折线,曲线段曲线段,多边形区域多边形区域二维形体的输入二维形体的输入-简单简单(图形显示设备与形体的维(图形显示设备与形体的维数一致)数一致)1. 在二维屏幕上如何显示三维物体?在二维屏幕上
2、如何显示三维物体?2. 如何表示三维物体?如何表示三维物体?三维图形的基本问题(三维图形的基本问题(2/4)三维形体的表示三维形体的表示-空间直线段、折线、曲线段、多空间直线段、折线、曲线段、多边形、曲面片边形、曲面片三维形体的输入、运算、有效性保证三维形体的输入、运算、有效性保证-困难困难解决方法解决方法-各种用于形体表示的理论、模型、方法各种用于形体表示的理论、模型、方法物体之间或物体的不同部分之间存在相互遮挡关系物体之间或物体的不同部分之间存在相互遮挡关系遮挡关系是空间位置关系的重要组成部分遮挡关系是空间位置关系的重要组成部分解决方法解决方法-消除隐藏面与隐藏线消除隐藏面与隐藏线3. 如
3、何反映遮挡关系?如何反映遮挡关系?三维图形的基本问题(三维图形的基本问题(3/4)何谓真实感图形何谓真实感图形 逼真的逼真的 示意的示意的人们观察现实世界产生的真实感来源于人们观察现实世界产生的真实感来源于 空间位置关系空间位置关系-近大远小的透视关系和遮挡关近大远小的透视关系和遮挡关系系 光线传播引起的物体表面颜色的自然分布光线传播引起的物体表面颜色的自然分布解决方法解决方法-建立光照明模型、开发真实感图形绘制建立光照明模型、开发真实感图形绘制方法方法4. 如何产生真实感图形如何产生真实感图形三维图形的基本问题(三维图形的基本问题(4/4)三维图形的基本研究内容三维图形的基本研究内容1.投影
4、投影2.三维形体的表示三维形体的表示3.消除隐藏面与隐藏线消除隐藏面与隐藏线4.建立光照明模型、开发真实感图形绘制方法建立光照明模型、开发真实感图形绘制方法8.2 平面几何投影(平面几何投影(1/11) 1、照像机模型与投影、照像机模型与投影 如何投影如何投影?生活中的类比生活中的类比-如何拍摄景物?如何拍摄景物? 拍摄过程拍摄过程 选景选景 取景取景-裁剪裁剪 对焦对焦参考点参考点 按快门按快门-成像成像 移动方式移动方式 移动景物移动景物 移动照相机移动照相机 两个坐标系两个坐标系平面几何投影(平面几何投影(2/11)投影投影照相机模型照相机模型 选定投影类型 设置投影参数 拍摄方向、距离
5、等 三维裁剪 取景 投影和显示 成像简单的三维图形显示流程图简单的三维图形显示流程图平面几何投影(平面几何投影(3/11)2、平面几何投影及其分类、平面几何投影及其分类 投影投影 将n维的点变换成小于n维的点 将3维的点变换成2维的点投影中心投影中心(COP:Center of Projection) 视觉系统观察点、视点 电影放映机光源 投影面投影面 不经过投影中心 平面-照相机底片 曲面球幕电影,视网膜平面几何投影(平面几何投影(4/11)投影线投影线 从投影中心向物体上各点发出的射线 直线光线平面几何投影平面几何投影 投影面是平面 投影线为直线 投影变换投影变换 投影过程 投影的数学表示
6、 平面几何投影(平面几何投影(5/11)平面几何投影(平面几何投影(6/11)投影分类投影分类投影中心与投影平面之间的距离为无限投影中心与投影平面之间的距离为无限 投影中心与投影平面之间的距离为有限投影中心与投影平面之间的距离为有限 根据投影方向与投影平面的夹角根据投影平面与坐标轴的夹角平面几何投影(平面几何投影(7/11)透视投影透视投影 投影中心与投影平面之间的距离为有限投影中心与投影平面之间的距离为有限 参数:投影方向参数:投影方向 例子:室内白炽灯的投影,视觉系统例子:室内白炽灯的投影,视觉系统 灭点:不平行于投影平面的平行线,经过透视投影之后收灭点:不平行于投影平面的平行线,经过透视
7、投影之后收敛于一点,称为敛于一点,称为灭点灭点. . 主灭点主灭点: :平行于坐标轴的平行线的灭点。平行于坐标轴的平行线的灭点。一点透视一点透视两点透视两点透视三点透视三点透视特点:产生近大远小的视觉效果,由它产特点:产生近大远小的视觉效果,由它产生的图形深度感强,看起来更加真实。生的图形深度感强,看起来更加真实。 主灭点的个数由什么决定主灭点的个数由什么决定?平面几何投影(平面几何投影(8/11)平面几何投影(平面几何投影(9/11)平行投影平行投影 投影中心与投影平面之间的距离为无限投影中心与投影平面之间的距离为无限 是透视投影的极限状态是透视投影的极限状态平面几何投影(平面几何投影(10
8、/11) 正投影与斜投影正投影与斜投影平面几何投影(平面几何投影(11/11) 三视图:正视图、侧视图和俯视图三视图:正视图、侧视图和俯视图 北大计算机系多媒体与人机交互19平面几何投影分类平面几何投影分类投影分类投影分类投影中心与投影平面之间的距离为无限投影中心与投影平面之间的距离为无限 投影中心与投影平面之间的距离为有限投影中心与投影平面之间的距离为有限 根据投影方向与投影平面的夹角根据投影平面与坐标轴的夹角8.3 观察坐标系中的投影变换(观察坐标系中的投影变换(1/15)-如何进行投影变换?如何进行投影变换?-观察坐标系观察坐标系生活中的类比生活中的类比-移动舞台还是移动摄像机移动舞台还
9、是移动摄像机 移动舞台移动舞台 投影(摄像)简单投影(摄像)简单 移动难度大移动难度大 移动摄像机移动摄像机 移动容易移动容易 投影复杂投影复杂变换的分解与合成变换的分解与合成采用观察坐标系,投影简单采用观察坐标系,投影简单观察坐标系中的投影变换(观察坐标系中的投影变换(2/15)什么是观察坐标系什么是观察坐标系 View Reference Coordinate或VRC 照相机所在的坐标系如何建立观察坐标系如何建立观察坐标系 坐标原点-聚焦参考点在底片(投影平面)上的投影,称为观察参考点VRP(View Reference Point) n轴-照相机镜头方向(投影平面的法向) v轴-照相机向
10、上的方向(观察正向) u轴-nvu观察坐标系中的投影变换(观察坐标系中的投影变换(3/15)观察坐标系中的投影变换(观察坐标系中的投影变换(4/15)为什么需要观察坐标系为什么需要观察坐标系 简化和加速投影变换 投影平面- n=0 投影中心- (0,0,d)w 视见体视见体视见体是三维裁剪窗口视见体是三维裁剪窗口建立步骤建立步骤定义窗口定义窗口形成观察空间形成观察空间形成视见体形成视见体发出射线前后裁剪面观察坐标系中的投影变换(观察坐标系中的投影变换(5/15)投影参考点投影参考点 PRP:Projection Reference Point 透视投影:透视投影:COP=PRP 平行投影:投影
11、方向平行投影:投影方向DOP=窗口中心窗口中心CW-PRP观察坐标系中的投影变换(观察坐标系中的投影变换(6/15)观察空间有限观察空间亦称视见体或裁剪空间观察坐标系中的投影变换(观察坐标系中的投影变换(7/15)参数参数作用作用投影类型投影类型定义投影是平行投影还是透视投影定义投影是平行投影还是透视投影观察参考点观察参考点VRP在世界坐标系中指定,为观察坐标系原点在世界坐标系中指定,为观察坐标系原点观察平面法向观察平面法向VPN在世界坐标系中指定,为观察坐标的在世界坐标系中指定,为观察坐标的n轴轴观察正向观察正向VUP在世界坐标系中指定,确定观察坐标系的在世界坐标系中指定,确定观察坐标系的v
12、轴轴投影参考点投影参考点PRP在观察坐标系中指定确定投影中心或投影方向在观察坐标系中指定确定投影中心或投影方向前裁剪面裁距前裁剪面裁距F在观察坐标系中指定,在观察坐标系中指定,nF为前裁剪面为前裁剪面后裁剪面裁距后裁剪面裁距B在观察坐标系中指定,在观察坐标系中指定,nB为后裁剪面为后裁剪面窗口窗口umin、umax、vmin、vmax在观察坐标系的在观察坐标系的uv平面上指定,确定窗口与视见体平面上指定,确定窗口与视见体 定义一个视见体所需的投影参数及其作用定义一个视见体所需的投影参数及其作用观察坐标系中的投影变换(观察坐标系中的投影变换(8/15)w 透视投影变换透视投影变换问题问题-在在u
13、vn中,投影平面为中,投影平面为n=0,投影中,投影中心为(心为(0,0,d),待投影点为,待投影点为P,求投影,求投影点点Q观察坐标系中的投影变换(观察坐标系中的投影变换(9/15)投影线的参数方程投影线的参数方程投影平面方程投影平面方程 n=0Q点的坐标点的坐标), 0)(tddntnvtvutuppp0)/(1)/(1QPPQPPQndnvvdnuu由此式可解释为什么透视投影产生近大远小的视觉效果观察坐标系中的投影变换(观察坐标系中的投影变换(10/15)透视投影变换矩阵透视投影变换矩阵perM1100000000100001dMperPMQper观察坐标系中的投影变换(观察坐标系中的投
14、影变换(11/15)w 平行投影变换平行投影变换问题问题-在在uvn中,投影平面为中,投影平面为n=0,投影方,投影方向为(向为(0,0,-1),待投影点为,待投影点为P,求投影点,求投影点Q观察坐标系中的投影变换(观察坐标系中的投影变换(12/15)投影线的参数方程投影线的参数方程投影平面方程投影平面方程 n=0Q点的坐标点的坐标), 0ttdnvvuupp0QPQPQnvvuu观察坐标系中的投影变换(观察坐标系中的投影变换(13/15)平行投影变换矩阵平行投影变换矩阵w 透视投影与平行投影之间的关系透视投影与平行投影之间的关系ortM1000000000100001ortMPMQortor
15、tperdMMlim观察坐标系中的投影变换(观察坐标系中的投影变换(14/15)w 从世界坐标系到观察坐标系的变换从世界坐标系到观察坐标系的变换条件条件 VRC的坐标原点(观察参考点)的坐标原点(观察参考点)VRP( , , ) 投影平面法向投影平面法向VPN 观察正向观察正向VUP VRPxVRPyVRPz,zyxzyxzyxuuuVPNVUPVPNVUPnvuvvvVUPVUPvnnnVPNVPNn记为记为记为观察坐标系中的投影变换(观察坐标系中的投影变换(15/15)结论结论10001000100011000000zyxzyxzyxzyxVRCWCVRPVRPVRPnnnvvvuuuM*
16、 *投影举例(投影举例(1/51/5) w 待投影的单位立方体待投影的单位立方体w 缺省投影参数缺省投影参数 参数参数 值值投影类型投影类型 平行投影平行投影VRP(WC) (0,0,0)VPN(WC) (0,0,1)VUP(WC) (0,1,0)PRP(VRC) (0.5,0.5,1)窗口(窗口(VRC) (0,1,0,1)F(VRC)F(VRC)正无穷正无穷B(VRC)B(VRC) 负无穷负无穷VRP:投影平面上一点投影平面上一点,观察坐标系的原点。观察坐标系的原点。PRP:投影参考点,确定投影方向:投影参考点,确定投影方向投影举例(投影举例(2/52/5)w 透视投影透视投影一点透视一点
17、透视参数参数 值值投影类型投影类型 透视投影透视投影VRP(WC) (0,0,0)VPN(WC) (0,0,1)VUP(WC) (0,1,0)PRP(VRC)()(0.5,0.5,4)窗口(窗口(VRC)()(-0.5,1.5,-0.5,1.5)参数参数 值值投影类型投影类型 透视投影透视投影VRP(WC) (0,0,0)VPN(WC) (0,0,1)VUP(WC) (0,1,0)PRP(VRC)()(2.0,2.0,4.0)窗口(窗口(VRC)()(-0.5,1.5,-0.5,1.5)投影举例(投影举例(3/53/5)两点透视两点透视参数参数 值值投影类型投影类型 透视投影透视投影VRP(W
18、C) (0,0,0)VPN(WC) (1,0,1)见见P158,图,图8.19VUP(WC) (0,1,0)PRP(VRC) (0.5,2.0,4.0)窗口(窗口(VRC) (-1.5,1.5, -1.5, 1.5) 参数参数 值值投影类型投影类型 透视投影透视投影VRP(WC) (0,0,0)VPN(WC) (1,0,1)VUP(WC) (1,1,0)PRP(VRC) (0.5,0.5,4)窗口(窗口(VRC) (-1.5,1.5, -1.5, 1.5) 投影举例(投影举例(4/54/5)w 平行投影平行投影参数参数 值值投影类型投影类型 平行投影平行投影VRP(WC) (0,0,0)VPN
19、(WC) (0,0,1)VUP(WC) (0,1,0)PRP(VRC) (0.5,0.5,1)窗口(窗口(VRC) (-0.5,1.5,0.5,1.5) 参数参数 值值投影类型投影类型 平行投影平行投影VRP(WC) (0,0,0)VPN(WC) (1,1,1)VUP(WC) (0,1,0)PRP(VRC) (0.5,0.5,2)窗口(窗口(VRC) (-0.5,1.5,0.5,1.5) 投影举例(投影举例(5/55/5)w 前、后裁剪面的影响前、后裁剪面的影响 参数参数 值值投影类型投影类型 透视投影透视投影VRP(WC) (0,0,0)VPN(WC) (0,0,1)VUP(WC) (0,1
20、,0)PRP(VRC) (0.5,0.5,2)窗口(窗口(VRC) (-0.5,1.5,-0.5,1.5)F(VRC) 1.2B(VRC) 0.2 8.4 三维图形的显示流程图三维图形的显示流程图(1/14) w 显示流程图显示流程图观察变换:从世界坐标系到观察坐标系的变换观察变换:从世界坐标系到观察坐标系的变换三维图形的显示流程图三维图形的显示流程图(2/14)1、模型变换、模型变换模型坐标系模型坐标系 Modeling Coordinate 物体的局部坐标系物体的局部坐标系 在模型坐标系中物体的表示简单在模型坐标系中物体的表示简单三维图形的显示流程图三维图形的显示流程图(3/14)模型变换
21、模型变换 Modeling Transformation 将物体从本身的模型坐标系变换到上层物体的模将物体从本身的模型坐标系变换到上层物体的模型坐标系(或世界坐标系)的几何变换型坐标系(或世界坐标系)的几何变换 模型变换是构造复杂物体的方法模型变换是构造复杂物体的方法 例子:例子:模型变换三维图形的显示流程图三维图形的显示流程图(4/14)2、何时裁剪、何时裁剪投影之前裁剪投影之前裁剪-三维裁剪三维裁剪 优点优点 只对可见的物体进行投影变换只对可见的物体进行投影变换 缺点缺点 三维裁剪相对复杂三维裁剪相对复杂投影之后裁剪投影之后裁剪-二维裁剪二维裁剪 优点优点 二维裁剪相对容易二维裁剪相对容易
22、 缺点缺点 需要对所有的物体进行投影变换需要对所有的物体进行投影变换三维图形的显示流程图三维图形的显示流程图(5/14)采用二维裁剪的三维图形显示流程图采用二维裁剪的三维图形显示流程图在投影之前裁剪的理由在投影之前裁剪的理由 三维物体的表面通常被离散表示成多边形或折线,而对这三维物体的表面通常被离散表示成多边形或折线,而对这类简单图元,三维裁剪同样比较简单。类简单图元,三维裁剪同样比较简单。 三维图形在显示过程中需要被消隐,做这个工作要有图形三维图形在显示过程中需要被消隐,做这个工作要有图形的深度信息,所以必须在投影之前完成的深度信息,所以必须在投影之前完成 。 消隐很费时,消隐很费时,如果在
23、此之前裁剪(或部分裁剪)掉不可见的图形,可使如果在此之前裁剪(或部分裁剪)掉不可见的图形,可使 需要消隐的图形减至最小。需要消隐的图形减至最小。三维图形的显示流程图三维图形的显示流程图(6/14)3、规范视见体、规范视见体平行投影的规范视见体平行投影的规范视见体 半立方体半立方体透视投影的规范视见体透视投影的规范视见体 四棱台四棱台1, 01, 11, 1nnvvuu1,minnnnnvnvnunu三维图形的显示流程图三维图形的显示流程图(7/14)为什么引入规范视见体为什么引入规范视见体 简化投影简化投影 简化裁剪简化裁剪规范化变换规范化变换 将任意视见体变换成规范视见体的变换将任意视见体变
24、换成规范视见体的变换规范投影坐标(三维屏幕坐标规范投影坐标(三维屏幕坐标 ) 经规范化的观察坐标系经规范化的观察坐标系三维图形的显示流程图三维图形的显示流程图(8/14)采用规范视见体的三维图形显示流程图采用规范视见体的三维图形显示流程图三维图形的显示流程图三维图形的显示流程图(9/14)4、平行投影视见体的规范化、平行投影视见体的规范化将任意的平行投影视见体变换为规范平行投将任意的平行投影视见体变换为规范平行投影视见体影视见体方法:变换的分解与合成方法:变换的分解与合成步骤步骤结果结果12parparparparparTSHTSN三维图形的显示流程图三维图形的显示流程图(10/14)三维图形
25、的显示流程图三维图形的显示流程图(11/14)5、透视投影视见体的规范化、透视投影视见体的规范化将任意的透视投影视见体变换为规范透视投将任意的透视投影视见体变换为规范透视投影视见体影视见体方法:变换的分解与合成方法:变换的分解与合成步骤步骤结果结果perperperperTSHSN三维图形的显示流程图三维图形的显示流程图(12/14)三维图形的显示流程图三维图形的显示流程图(13/14)6、规范视见体之间的变换、规范视见体之间的变换将透视投影的规范视见体变换为平行投影的规范视将透视投影的规范视见体变换为平行投影的规范视见体见体为什么为什么 关于长方体的裁剪较关于正四棱台的裁剪简单。关于长方体的
26、裁剪较关于正四棱台的裁剪简单。 平行投影较透视投影简单。平行投影较透视投影简单。 透视投影与平行投影都采用同一套裁剪与投影程序,处理透视投影与平行投影都采用同一套裁剪与投影程序,处理一致,便于用硬件实现。一致,便于用硬件实现。 01001110000100001minminminnnnM三维图形的显示流程图(三维图形的显示流程图(14/14)将视见体变换结合到透视投影的规范化变换将视见体变换结合到透视投影的规范化变换矩阵中矩阵中采用视见体变换的三维图形显示流程图采用视见体变换的三维图形显示流程图perperperperperTSHSMNMN8.5 三维裁剪(三维裁剪(1/2)w 三维裁剪的两种
27、方法三维裁剪的两种方法将齐次坐标转换为三维坐标,在三维空间关将齐次坐标转换为三维坐标,在三维空间关于视见体裁剪于视见体裁剪 优点:三维裁剪相对容易优点:三维裁剪相对容易 缺点:需要将齐次坐标转换为三维坐标缺点:需要将齐次坐标转换为三维坐标直接在四维齐次坐标空间中进行裁剪直接在四维齐次坐标空间中进行裁剪 优点:优点: 不需要将齐次坐标转换为三维坐标不需要将齐次坐标转换为三维坐标有理曲线曲面可能直接用齐次坐标来表示,对它们的有理曲线曲面可能直接用齐次坐标来表示,对它们的裁剪只能在齐次坐标空间中进行裁剪只能在齐次坐标空间中进行 缺点:四维裁剪相对复杂缺点:四维裁剪相对复杂三维裁剪(三维裁剪(2/2)
28、w 关于规范视见体的裁剪关于规范视见体的裁剪直线段裁剪的Cohen_Sutherland算法、*梁_Barskey算法的直接推广多边形裁剪的Sutherland_Hodgman算法的直接推广w 齐次坐标空间中的裁剪齐次坐标空间中的裁剪四维裁剪体的定义8.6 图形显示过程小结图形显示过程小结(1/2)w 对应于三维裁剪的实现过程对应于三维裁剪的实现过程 1、将三维坐标扩展为齐项坐标,、将三维坐标扩展为齐项坐标,(x,y,z)(x,y,z,1);2、进行模型变换;、进行模型变换;3、进行观察变换;、进行观察变换;4、进行视见体的规范化变换、进行视见体的规范化变换Npar或或Nper;5、除以除以h
29、返回三维空间(有些情况下,返回三维空间(有些情况下,h保持为保持为1,所,所以不必做除法运算);以不必做除法运算);6、关于规范视见体进行裁剪;、关于规范视见体进行裁剪;7、将三维坐标扩展为齐项坐标;将三维坐标扩展为齐项坐标;8、进行投影变换、进行投影变换Mort或或Mper;9、进行窗口至视区的变换;、进行窗口至视区的变换;10、除以、除以h返回二维设备坐标系返回二维设备坐标系 ;11、扫描转换(显示)。、扫描转换(显示)。 *图形显示过程小结图形显示过程小结(2/2)w 对应齐次坐标空间裁剪的实现过程对应齐次坐标空间裁剪的实现过程 1、将三维坐标扩展为齐次坐标(对于直接用齐次坐标、将三维坐标扩展为齐次坐标(对于直接用齐次坐标表示的图形不需要进行这一步);表示的图形不需要进行这一步);2、进行模型变换;、进行模型变换;3、进行观察变换;、进行观察变换;4、进行视见体的规范化变换、进行视见体的规范化变换Npar或规范体之间的变或规范体之间的变换换Nper;5、在齐项坐标空间中关于裁剪窗口裁剪、在齐项坐标空间中关于裁剪窗口裁剪;6、进行平行投影变换、进行平行投影变换Mort;7、进行窗口至视区的变换、进行窗口至视区的变换;8、除以、除以h返回二维设备坐标系;返回二维设备坐标系; 9、扫描转换(显示)。、扫描转换(显示)。