版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8章章 三维形体的显示三维形体的显示 三维形体输出流程图三维形体输出流程图 观察坐标系的建立观察坐标系的建立 观察变换观察变换 投影变换投影变换 观察体与三维裁剪观察体与三维裁剪 三维形体完整的输出过程三维形体完整的输出过程第1页/共38页8.1 三维形体输出流程图三维形体输出流程图1. 三维形体显示与二维物体显示存在许多不同三维形体显示与二维物体显示存在许多不同的地方的地方:(1) 允许从任意空间位置观察物体允许从任意空间位置观察物体: 从前面、上从前面、上面和后面。面和后面。 也可以从一组物体的中间或一个物体的内部也可以从一组物体的中间或一个物体的内部观察物体,如建筑物。观察物体,如建
2、筑物。(2) 三维物体必须投影到二维的显示(输出)设三维物体必须投影到二维的显示(输出)设备上。备上。(3) 裁剪空间是体空间。裁剪空间是体空间。第2页/共38页2. 观察流水线观察流水线用计算机模拟三维形体显示的步骤与照相机用计算机模拟三维形体显示的步骤与照相机拍照的过程有点相似,但更加灵活,选择多拍照的过程有点相似,但更加灵活,选择多样。样。下图描述了将用户坐标系中描述的物体转换下图描述了将用户坐标系中描述的物体转换成设备坐标的过程。成设备坐标的过程。造型坐标造型坐标造型变换造型变换用户坐标用户坐标观察变换观察变换观察坐标观察坐标投影变换投影变换投影坐标投影坐标工作站变换工作站变换设备坐标
3、设备坐标第3页/共38页8.2 观察坐标系的建立观察坐标系的建立我们可以在任意地点、任意距离和任意角度我们可以在任意地点、任意距离和任意角度给物体拍照,并通过相机的孔径大小选择拍给物体拍照,并通过相机的孔径大小选择拍摄自己感兴趣的部分。摄自己感兴趣的部分。类似地,给定观察位置、方向及类似地,给定观察位置、方向及“相机相机”的的孔径大小,我们可以用图形软件包在二维平孔径大小,我们可以用图形软件包在二维平面上显示三维物体。基本思路是建立一个满面上显示三维物体。基本思路是建立一个满足左手坐标系法则的观察坐标系。足左手坐标系法则的观察坐标系。xvzvyvuvn第4页/共38页建立观察坐标系的步骤:建立
4、观察坐标系的步骤:1. 在用户坐标系中选取一点在用户坐标系中选取一点P0作为观察坐标系的原点,该点称为观作为观察坐标系的原点,该点称为观察参考点。察参考点。2. 选取选取zv轴的正向轴的正向 在景物附近或景物上取一点在景物附近或景物上取一点P,将,将N=P0P (表示矢表示矢量量)选为选为zv轴的正向。这里,轴的正向。这里,N称为观察方向。称为观察方向。xwywzwP0PzvN第5页/共38页3. 确定确定yv轴的正向。方法如下:轴的正向。方法如下: 选取一个观察正向选取一个观察正向V,将它投射到过,将它投射到过P0并与并与N垂直的平面上。注意:垂直的平面上。注意:可任意选取不与可任意选取不与
5、N平行的平行的V。补充说明:补充说明:选定选定V后,建立后,建立yv和和xv轴的另一种方法是:由轴的另一种方法是:由N,V作叉积求出第三个作叉积求出第三个向量向量U,它垂直于,它垂直于N和和V,由此确定,由此确定xv轴轴 。然后由。然后由N和和U作叉积确定与作叉积确定与它们垂直的向量它们垂直的向量 v。zvzvP0VyvxvuvnzvP0VyvNP0Vyvxvuvn系统系统第6页/共38页观察平面的选取:观察平面的选取: 与与zv轴垂直即与轴垂直即与xvyv平面平行的平面。平面平行的平面。xvzvyv第7页/共38页8.3 用户坐标系到观察坐标系的变换用户坐标系到观察坐标系的变换观察变换观察变
6、换观察坐标系由用户坐标系中的观察参考点观察坐标系由用户坐标系中的观察参考点P0、观察方向、观察方向N和观察正向和观察正向V定义。设定义。设0000,zyxP ),(nnnzyxN aaazyxV,记记N与与V的单位向量为的单位向量为zyxnnnn,zyxaaaa,则则VVaNNn,zyxzyxvvvnuvuuuanu,zvP0Vyvxvuvnauvn系统第8页/共38页于是,根据第于是,根据第7 章坐标变换公式,可得观章坐标变换公式,可得观察变换为:察变换为:10000001010000100001,000000zzzyyyxxxnvunvunvuzyxRzyxTRzyxTzyxzyxwwwe
7、ee),(1 ,1 ,000即即xwywzwP0PzvNyvxv第9页/共38页8.4 投影变换投影变换三维物体和二维显示平面不匹配的问题可通过投影变换解决,也就是三维物体和二维显示平面不匹配的问题可通过投影变换解决,也就是把三维物体先变换到二维投影平面,然后再变换到显示屏表面。把三维物体先变换到二维投影平面,然后再变换到显示屏表面。一旦将物体的用户坐标转换成观察坐标,我们就可以将三维物体投射一旦将物体的用户坐标转换成观察坐标,我们就可以将三维物体投射到二维观察平面上。到二维观察平面上。存在两种基本的投射方法:存在两种基本的投射方法: 透视投射和平行投射。透视投射和平行投射。P1P2P2P1观
8、察平面观察平面(投影平面投影平面)投射参考点投射参考点(视点视点)(投影中心投影中心)透视投影透视投影: 坐标点沿着相交于一点坐标点沿着相交于一点(称为投射参考点称为投射参考点 或投射中心或投射中心) 的直线被变换到观察平面。的直线被变换到观察平面。第10页/共38页P1P2P2P1观察平面观察平面(投影平面投影平面)平行投射平行投射(影影) :坐标点沿着平行线被变换到观察平面。:坐标点沿着平行线被变换到观察平面。两类投影的本质区别在于:透视投影的投影中心到投影平面的距离是有限的,而平两类投影的本质区别在于:透视投影的投影中心到投影平面的距离是有限的,而平行投影的投影中心到投影平面的距离是无限
9、的。行投影的投影中心到投影平面的距离是无限的。两类投影的联系在于:当投影中心在无穷远处,投影线互相平行,这时透视投影变两类投影的联系在于:当投影中心在无穷远处,投影线互相平行,这时透视投影变成平行投影。成平行投影。定义平行投影时,给出投影方向定义平行投影时,给出投影方向(称为投影向量称为投影向量)就可以了,而定义透视投影时,需要就可以了,而定义透视投影时,需要明确地指定投影中心的位置。明确地指定投影中心的位置。第11页/共38页8.4.1 平行投影平行投影根据投影向量与投影平面的夹角不同,平行投影可分为正交平行投影和根据投影向量与投影平面的夹角不同,平行投影可分为正交平行投影和斜平行投影。斜平
10、行投影。当投影向量与投影平面垂直时,称为正交平行投影,否则称为斜平行投当投影向量与投影平面垂直时,称为正交平行投影,否则称为斜平行投影。影。正交平行投影的变换方程很容易求出。假设观察平面位于正交平行投影的变换方程很容易求出。假设观察平面位于zv轴上的轴上的zvp处,投处,投射方向与射方向与zv轴平行轴平行(如下图所示如下图所示),则观察坐标系中的任意点,则观察坐标系中的任意点(x,y,z)被变换为观被变换为观察平面上的坐标点察平面上的坐标点(x,y,zvp),而原来的,而原来的z坐标值保存起来,用作深度检测和可坐标值保存起来,用作深度检测和可见面确定过程中的深度信息。见面确定过程中的深度信息。
11、y yxxpp ,zvxvyv(x,y,z)(x,y)zvp第12页/共38页当当zvp=0,即投影平面为,即投影平面为xvyv坐标平面时,坐标平面时,zp=0。这时正交平行投影的矩阵表达式。这时正交平行投影的矩阵表达式为:为:10000000001000011 ,1 ,zyxzyxppp第13页/共38页8.4.2 透视投影透视投影投影参考点用的是观察坐标系中的三维点。假设投影参考点位于投影参考点用的是观察坐标系中的三维点。假设投影参考点位于zv轴上的轴上的zprp处,则描述投影线的参数方程为:处,则描述投影线的参数方程为:观察平面观察平面zvzvpP(x,y,z)(xp,yp,zvp)zp
12、rp10uuzzzzyuyyxuxxprp其中其中(x,y,z)表示投影线段上的任表示投影线段上的任意一点。意一点。第14页/共38页在观察平面上,在观察平面上, z=zvp,这时,这时, 投影线与观察平面的交点坐标为:投影线与观察平面的交点坐标为:zzdyyzzdxxprpppprppp其中其中vpprppzzd表示投影中心与观察平面表示投影中心与观察平面之间的距离。之间的距离。第15页/共38页投影变换的矩阵表达式投影变换的矩阵表达式:pprppprpvpppvphhhdzdzzddzzyxhzyx/00/1/00001000011 ,pprpdzzhhyyhxxhphp/ ,/特殊情况:
13、特殊情况: zvp=0或或zprp=0更一般的情况这里不再讨论。更一般的情况这里不再讨论。第16页/共38页造型坐标造型坐标造型变换造型变换用户坐标用户坐标观察变换观察变换观察坐标观察坐标投影变换投影变换投影坐标投影坐标工作站变换工作站变换设备坐标设备坐标以上讲解了我们开始提到的三维形体的如下输出以上讲解了我们开始提到的三维形体的如下输出过程过程:第17页/共38页8.5 观察体与三维裁剪观察体与三维裁剪8.5.1 观察体的定义观察体的定义在照相时,相机的镜头是决定所拍摄场景大小的一个因素。在三维显在照相时,相机的镜头是决定所拍摄场景大小的一个因素。在三维显示中,示中, 观察平面上的矩形观察窗
14、口用于实现这个目标。观察平面上的矩形观察窗口用于实现这个目标。观察窗口的边与观察窗口的边与xvyv轴平行。窗口轴平行。窗口边界的位置是由观边界的位置是由观察坐标指定的,观察坐标指定的,观察窗口可以放在观察窗口可以放在观察平面上的任何位察平面上的任何位置。置。观察平面观察平面(xwmax,ywmax)(xwmin,ywmin)投影窗口投影窗口zvxvyv第18页/共38页给定观察窗口后,我们可以利用窗口的给定观察窗口后,我们可以利用窗口的4条边界建立观察体。只有位于观察条边界建立观察体。只有位于观察体中的物体才会在输出设备上显示出来,所有其他部分将被裁剪掉。体中的物体才会在输出设备上显示出来,所
15、有其他部分将被裁剪掉。观察体的大小与观察窗口的大小有关;而其形状与用于显示的投影类型有观察体的大小与观察窗口的大小有关;而其形状与用于显示的投影类型有关。在任何情况下,观察体的四侧都是穿过窗口边界的平面。注意:关。在任何情况下,观察体的四侧都是穿过窗口边界的平面。注意: 投影投影中心在观察坐标系中定义。中心在观察坐标系中定义。窗口窗口平行投影观察体平行投影观察体窗口窗口透视投影观察体透视投影观察体投影中心投影中心第19页/共38页通过在通过在zv轴上限制观察体的范围可获得有限观察体。具体方法是:轴上限制观察体的范围可获得有限观察体。具体方法是:在在zv轴上指定与观察平面平行的两个附加边界平面。
16、轴上指定与观察平面平行的两个附加边界平面。窗口窗口Front PlaneBack Planezv平行六面体平行六面体投影中心投影中心Back PlaneFront Planezv平截头体平截头体Frustum窗口第20页/共38页后平面比前平面离投影中心远,且都在投影中心的同一侧。后平面比前平面离投影中心远,且都在投影中心的同一侧。包括前后面在内六个面界定出了观察体。包括前后面在内六个面界定出了观察体。前后裁剪面的作用:前后裁剪面的作用:(1)裁剪掉不感兴趣的部分;裁剪掉不感兴趣的部分;(2)在透视投影中,裁剪掉离观察面很近的大物体,这些物体投影到观察窗口在透视投影中,裁剪掉离观察面很近的大物
17、体,这些物体投影到观察窗口中模糊不清;后平面裁剪掉远离投影中心的物体,这部分物体在输出设备上是中模糊不清;后平面裁剪掉远离投影中心的物体,这部分物体在输出设备上是很小的点。很小的点。观察平面、前后裁剪面的相对位置关系依赖于投影的类型以及图形软件包的限观察平面、前后裁剪面的相对位置关系依赖于投影的类型以及图形软件包的限制。制。第21页/共38页8.5.2 三维裁剪三维裁剪就是确认并存储将在输出设备上显示的观察体内物体部分,同时舍弃观就是确认并存储将在输出设备上显示的观察体内物体部分,同时舍弃观察体外物体的所有部分。察体外物体的所有部分。三维裁剪与二维裁剪的不同之处:三维裁剪与二维裁剪的不同之处:
18、在二维裁剪中,窗口是与在二维裁剪中,窗口是与x,y轴平行的,这大大简化了裁剪在二维裁剪轴平行的,这大大简化了裁剪在二维裁剪中运算。但三维裁剪体的裁剪边界是平面,平面的产生与投影的类型、中运算。但三维裁剪体的裁剪边界是平面,平面的产生与投影的类型、投影的窗口及投影中心的位置有关。投影的窗口及投影中心的位置有关。 在透视投影中,观察体的前后面与观察平面平行,每个面的在透视投影中,观察体的前后面与观察平面平行,每个面的z 坐标均为坐标均为常数,但其他四个侧面可以具有任意的空间方向,这给求交运算带来了常数,但其他四个侧面可以具有任意的空间方向,这给求交运算带来了麻烦。麻烦。第22页/共38页1.直接裁
19、剪方法及其缺点直接裁剪方法及其缺点这种方法直接对观察体进行裁剪。该方法主要涉及空间线段与裁剪面的求这种方法直接对观察体进行裁剪。该方法主要涉及空间线段与裁剪面的求交运算。设空间线段交运算。设空间线段L的两个端点分别为的两个端点分别为P1(x1,y1,z1)和和P2(x2,y2,z2),空,空间中任一平面间中任一平面Q的方程为:的方程为: ax+by+cz+d=0则则L与与Q之交点之交点(x,y,z)应满足:应满足: x=x1+pt y=y1+qt z=z1+rt ax+by+cz+d=0其中,其中,p=x2-x1,q=y2-y1, r=z2-z1, 0=t0,sign(x)=1; 否则,否则,
20、sign(x)=0。第32页/共38页(b)对于对于规范化透视观察体,规范化透视观察体,(3)求线与边界面的交点(略)求线与边界面的交点(略)Above: bit 1=sign(y-z)Below: bit 2=sign(-z-y)Right: bit 3=sign(x-z) Left: bit 4=sign(-z-x)Behind: bit 5=sign(z-1)Front: bit 6=sign(f-1) 1fy=z前截面前截面x=zx=-zy=-z投影中心投影中心xzy由此可确定线段的可见性:完全可见、完全不可见、裁剪候选线段。特由此可确定线段的可见性:完全可见、完全不可见、裁剪候选线段。特别地,用这种方法可确定点是否在体内或体外。别地,用这种方法可确定点是否在体内或体外。第33页/共38页8.6 三维形体完整的输出过程三维形体完整的输出过程(不考虑消隐不考虑消隐)造型坐标造型坐标造型变换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物标志物在药物临床试验中的临床转化研究
- 生物制剂失应答后IBD的联合治疗策略
- 生物3D打印皮肤在皮肤修复中的个性化方案
- 深度解析(2026)《GBT 19565-2017总辐射表》
- 考试题质量监督与检测技能测试
- 资产处置分析师考试题库
- 中广核设备制造商代表面试题库及解析
- 性能测试工程师岗位测试结果分析含答案
- 面试题集永辉超市收银主管岗位面试要点
- 深度解析(2026)《GBT 19155-2017高处作业吊篮》
- 2026届四川凉山州高三高考一模数学试卷试题(含答案详解)
- 银行党支部书记2025年抓基层党建工作述职报告
- 肿瘤标志物的分类
- 2025山西忻州市原平市招聘社区专职工作人员50人考试历年真题汇编附答案解析
- 中药煎煮知识与服用方法
- 年产十万吨丙烯腈生产工艺设计
- 护理质量检查记录69528
- 年产10吨功能益生菌冻干粉的工厂设计改
- GB/T 31541-2015精细陶瓷界面拉伸和剪切粘结强度试验方法十字交叉法
- GB/T 26923-2011节水型企业纺织染整行业
- GB/T 14364-1993船舶轴系滑动式中间轴承
评论
0/150
提交评论