版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8章章 三维形体的显示三维形体的显示 8.1 8.1 三维形体输出流程图三维形体输出流程图 8.2 8.2 观察坐标系的建立观察坐标系的建立 8.3 8.3 观察变换观察变换 8.4 8.4 投影变换投影变换 8.5 8.5 观察体与三维裁剪观察体与三维裁剪 8.6 8.6 三维形体完整的输出过程三维形体完整的输出过程8.1 三维形体输出流程图三维形体输出流程图1. 三维形体显示与二维物体显示存在许多不同三维形体显示与二维物体显示存在许多不同的地方的地方:(1) 允许从任意空间位置观察物体允许从任意空间位置观察物体: 从前面、上从前面、上面和后面。面和后面。 也可以从一组物体的中间或一个物
2、体的内部也可以从一组物体的中间或一个物体的内部观察物体,如建筑物。观察物体,如建筑物。(2) 三维物体必须投影到二维的显示输出设三维物体必须投影到二维的显示输出设备上。备上。(3) 裁剪空间是体空间。裁剪空间是体空间。2. 观察流水线观察流水线用计算机模拟三维形体显示的步骤与照相机用计算机模拟三维形体显示的步骤与照相机拍照的过程有点相似,但更加灵活,选择多拍照的过程有点相似,但更加灵活,选择多样。样。下图描述了将用户坐标系中描述的物体转换下图描述了将用户坐标系中描述的物体转换成设备坐标的过程。成设备坐标的过程。造型坐标造型坐标造型变换造型变换用户坐标用户坐标观察变换观察变换观察坐标观察坐标投影
3、变换投影变换投影坐标投影坐标工作站变换工作站变换设备坐标设备坐标8.2 观察坐标系的建立观察坐标系的建立我们可以在任意地点、任意距离和任意角度我们可以在任意地点、任意距离和任意角度给物体拍照,并通过相机的孔径大小选择拍给物体拍照,并通过相机的孔径大小选择拍摄自己感兴趣的部分。摄自己感兴趣的部分。类似地,给定观察位置、方向及类似地,给定观察位置、方向及“相机的孔相机的孔径大小,我们可以用图形软件包在二维平面径大小,我们可以用图形软件包在二维平面上显示三维物体。基本思路是建立一个满足上显示三维物体。基本思路是建立一个满足左手坐标系法则的观察坐标系。左手坐标系法则的观察坐标系。xvzvyvuvn建立
4、观察坐标系的步骤:建立观察坐标系的步骤:1. 在用户坐标系中选取一点在用户坐标系中选取一点P0作为观察坐标系的作为观察坐标系的原点,该点称为观察参考点。原点,该点称为观察参考点。选取选取zv轴的正向轴的正向 在景物附近或景物上取一点在景物附近或景物上取一点P,将,将N=P0P (表表示矢量示矢量)选为选为zv轴的正向。这里,轴的正向。这里,N称为观察方称为观察方向。向。xwywzwP0PzvN3. 确定确定yv轴的正向。方法如下:轴的正向。方法如下: 选取一个观察正向选取一个观察正向V,将它投射到过,将它投射到过P0并与并与N垂直的垂直的平面上。留意:可任意选取不与平面上。留意:可任意选取不与
5、N平行的平行的V。补充说明:补充说明:选定选定V后,建立后,建立yv和和xv轴的另一种方法是:由轴的另一种方法是:由N,V作作叉积求出第三个向量叉积求出第三个向量U,它垂直于,它垂直于N和和V,由此确定,由此确定xv轴轴 。然后由。然后由N和和U作叉积确定与它们垂直的向量作叉积确定与它们垂直的向量 v。zvzvP0VyvxvuvnzvP0VyvNP0 Vyvxvuvn系统系统观察平面的选取:观察平面的选取: 与与zv轴垂直即与轴垂直即与xvyv平面平面平行的平面。平行的平面。xvzvyv8.3 用户坐标系到观察坐标系的变换用户坐标系到观察坐标系的变换观察变换观察变换观察坐标系由用户坐标系中的观
6、察参考点观察坐标系由用户坐标系中的观察参考点P0、观察、观察方向方向N和观察正向和观察正向V定义。设定义。设0000,zyxP ),(nnnzyxN aaazyxV,记记N与与V的单位向量为的单位向量为zyxnnnn,zyxaaaa,那那么么VVaNNn,zyxzyxvvvnuvuuuanu,zvP0Vyvxvuvnauvn系统于是,根据第于是,根据第7 章坐标变换公章坐标变换公式,可得观察变换为:式,可得观察变换为:10000001010000100001,000000zzzyyyxxxnvunvunvuzyxRzyxTRzyxTzyxzyxwwweee),(1 ,1 ,000即即xwywz
7、wP0PzvNyvxv8.4 投影变换投影变换三维物体和二维显示平面不匹配的问题可通过投影三维物体和二维显示平面不匹配的问题可通过投影变换解决,也就是把三维物体先变换到二维投影平变换解决,也就是把三维物体先变换到二维投影平面,然后再变换到显示屏表面。面,然后再变换到显示屏表面。一旦将物体的用户坐标转换成观察坐标,我们就可一旦将物体的用户坐标转换成观察坐标,我们就可以将三维物体投射到二维观察平面上。以将三维物体投射到二维观察平面上。存在两种基本的投射方法:存在两种基本的投射方法: 透视投射和平行投射。透视投射和平行投射。P1P2P2P1观察平面观察平面(投影平面投影平面)投射参考点投射参考点(视
8、点视点)(投影中心投影中心)透视投影透视投影: 坐标点沿着相交于一点坐标点沿着相交于一点(称为投射参考点称为投射参考点 或投射中心或投射中心) 的直线被变换到观察平面。的直线被变换到观察平面。P1P2P2P1观察平面观察平面(投影平面投影平面)平行投射平行投射(影影) :坐标点沿着平行线被变换到观察平面。:坐标点沿着平行线被变换到观察平面。两类投影的本质区别在于:透视投影的投影中心到投影平面的两类投影的本质区别在于:透视投影的投影中心到投影平面的距离是有限的,而平行投影的投影中心到投影平面的距离是无距离是有限的,而平行投影的投影中心到投影平面的距离是无限的。限的。两类投影的联系在于:当投影中心
9、在无穷远处,投影线互相平两类投影的联系在于:当投影中心在无穷远处,投影线互相平行,这时透视投影变成平行投影。行,这时透视投影变成平行投影。定义平行投影时,给出投影方向定义平行投影时,给出投影方向(称为投影向量称为投影向量)就可以了,而定就可以了,而定义透视投影时,需要明确地指定投影中心的位置。义透视投影时,需要明确地指定投影中心的位置。8.4.1 平行投影平行投影根据投影向量与投影平面的夹角不同,平行投影可分根据投影向量与投影平面的夹角不同,平行投影可分为正交平行投影和斜平行投影。为正交平行投影和斜平行投影。当投影向量与投影平面垂直时,称为正交平行投影,当投影向量与投影平面垂直时,称为正交平行
10、投影,否则称为斜平行投影。否则称为斜平行投影。正交平行投影的变换方程很容易求出。假设观察平面位于正交平行投影的变换方程很容易求出。假设观察平面位于zv轴上的轴上的zvp处,投射方向与处,投射方向与zv轴平行轴平行(如下图所示如下图所示),则观,则观察坐标系中的任意点察坐标系中的任意点(x,y,z)被变换为观察平面上的坐标点被变换为观察平面上的坐标点(x,y,zvp),而原来的,而原来的z坐标值保存起来,用作深度检测和可坐标值保存起来,用作深度检测和可见面确定过程中的深度信息。见面确定过程中的深度信息。y yxxpp ,zvxvyv(x,y,z)(x,y)zvp当当zvp=0,即投影平面为,即投
11、影平面为xvyv坐标平面时,坐标平面时,zp=0。这时正交。这时正交平行投影的矩阵表达式为:平行投影的矩阵表达式为:10000000001000011 ,1 ,zyxzyxppp8.4.2 透视投影透视投影投影参考点用的是观察坐标系中的三维点。假设投影参投影参考点用的是观察坐标系中的三维点。假设投影参考点位于考点位于zv轴上的轴上的zprp处,则描述投影线的参数方程为:处,则描述投影线的参数方程为:观察平面观察平面zvzvpP(x,y,z)(xp,yp,zvp)zprp10uuzzzzyuyyxuxxprp其中其中(x,y,z)表示投影线段表示投影线段上的任意一点。上的任意一点。在观察平面上,
12、在观察平面上, z=zvp,这时,这时, 投影线与观察平面的投影线与观察平面的交点坐标为:交点坐标为:zzdyyzzdxxprpppprppp其中其中vpprppzzd表示投影中心与观察平面表示投影中心与观察平面之间的距离。之间的距离。投影变换的矩阵表达式投影变换的矩阵表达式:pprppprpvpppvphhhdzdzzddzzyxhzyx/00/1/00001000011 ,pprpdzzhhyyhxxhphp/ ,/特殊情况:特殊情况: zvp=0或或zprp=0更一般的情况这里不再讨论。更一般的情况这里不再讨论。造型坐标造型坐标造型变换造型变换用户坐标用户坐标观察变换观察变换观察坐标观察
13、坐标投影变换投影变换投影坐标投影坐标工作站变换工作站变换设备坐标设备坐标以上讲解了我们开始提到的三维形体的如下输出以上讲解了我们开始提到的三维形体的如下输出过程过程:8.5 观察体与三维裁剪观察体与三维裁剪8.5.1 观察体的定义观察体的定义在照相时,相机的镜头是决定所拍摄场景大在照相时,相机的镜头是决定所拍摄场景大小的一个因素。在三维显示中,小的一个因素。在三维显示中, 观察平面上观察平面上的矩形观察窗口用于实现这个目标。的矩形观察窗口用于实现这个目标。观察窗口的边观察窗口的边与与xvyv轴平行。轴平行。窗口边界的位窗口边界的位置是由观察坐置是由观察坐标指定的,观标指定的,观察窗口可以放察窗
14、口可以放在观察平面上在观察平面上的任何位置。的任何位置。观察平面观察平面(xwmax,ywmax)(xwmin,ywmin)投影窗口投影窗口zvxvyv给定观察窗口后,我们可以利用窗口的给定观察窗口后,我们可以利用窗口的4条边界建立观察条边界建立观察体。只有位于观察体中的物体才会在输出设备上显示出体。只有位于观察体中的物体才会在输出设备上显示出来,所有其他部分将被裁剪掉。来,所有其他部分将被裁剪掉。观察体的大小与观察窗口的大小有关;而其形状与用于观察体的大小与观察窗口的大小有关;而其形状与用于显示的投影类型有关。在任何情况下,观察体的四侧都显示的投影类型有关。在任何情况下,观察体的四侧都是穿过
15、窗口边界的平面。留意:是穿过窗口边界的平面。留意: 投影中心在观察坐标系投影中心在观察坐标系中定义。中定义。窗口窗口平行投影观察体平行投影观察体窗口窗口透视投影观察体透视投影观察体投影中心投影中心通过在通过在zv轴上限制观察体的范围可获得有限观察体。具体轴上限制观察体的范围可获得有限观察体。具体方法是:方法是:在在zv轴上指定与观察平面平行的两个附加边界平面。轴上指定与观察平面平行的两个附加边界平面。窗口窗口Front PlaneBack Planezv平行六面体平行六面体投影中心投影中心Back PlaneFront Planezv平截头体平截头体Frustum窗口后平面比前平面离投影中心远
16、,且都在投影中心的同一侧。后平面比前平面离投影中心远,且都在投影中心的同一侧。包括前后面在内六个面界定出了观察体。包括前后面在内六个面界定出了观察体。前后裁剪面的作用:前后裁剪面的作用:(1)裁剪掉不感兴趣的部分;裁剪掉不感兴趣的部分;(2)在透视投影中,裁剪掉离观察面很近的大物体,这些物在透视投影中,裁剪掉离观察面很近的大物体,这些物体投影到观察窗口中模糊不清;后平面裁剪掉远离投影中体投影到观察窗口中模糊不清;后平面裁剪掉远离投影中心的物体,这部分物体在输出设备上是很小的点。心的物体,这部分物体在输出设备上是很小的点。观察平面、前后裁剪面的相对位置关系依赖于投影的类型观察平面、前后裁剪面的相
17、对位置关系依赖于投影的类型以及图形软件包的限制。以及图形软件包的限制。8.5.2 三维裁剪三维裁剪就是确认并存储将在输出设备上显示的观察体内物体就是确认并存储将在输出设备上显示的观察体内物体部分,同时舍弃观察体外物体的所有部分。部分,同时舍弃观察体外物体的所有部分。三维裁剪与二维裁剪的不同之处:三维裁剪与二维裁剪的不同之处:在二维裁剪中,窗口是与在二维裁剪中,窗口是与x,y轴平行的,这大大简化了轴平行的,这大大简化了裁剪在二维裁剪中运算。但三维裁剪体的裁剪边界是裁剪在二维裁剪中运算。但三维裁剪体的裁剪边界是平面,平面的产生与投影的类型、投影的窗口及投影平面,平面的产生与投影的类型、投影的窗口及
18、投影中心的位置有关。中心的位置有关。 在透视投影中,观察体的前后面与观察平面平行,每在透视投影中,观察体的前后面与观察平面平行,每个面的个面的z 坐标均为常数,但其他四个侧面可以具有任坐标均为常数,但其他四个侧面可以具有任意的空间方向,这给求交运算带来了麻烦。意的空间方向,这给求交运算带来了麻烦。直接裁剪方法及其缺点直接裁剪方法及其缺点这种方法直接对观察体进行裁剪。该方这种方法直接对观察体进行裁剪。该方法主要涉及空间线段与裁剪面的求交运算。法主要涉及空间线段与裁剪面的求交运算。设空间线段设空间线段L的两个端点分别为的两个端点分别为P1(x1,y1,z1)和和P2(x2,y2,z2),空间中任一
19、,空间中任一平面平面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; 否则,否则,sign(x)=0。(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
20、)Behind: bit 5=sign(z-1)Front: bit 6=sign(f-1) 1fy=z前截面前截面x=zx=-zy=-z投影中心投影中心xzy由此可确定线段的可见性:完全可见、完全不可见、由此可确定线段的可见性:完全可见、完全不可见、裁剪候选线段。特别地,用这种方法可确定点是否在裁剪候选线段。特别地,用这种方法可确定点是否在体内或体外。体内或体外。8.6 三维形体完整的输出过程三维形体完整的输出过程(不考虑消隐不考虑消隐)造型坐标造型坐标造型变换造型变换用户坐标用户坐标观察变换观察变换观察坐标观察坐标投影变换投影变换投影坐标投影坐标工作站变换工作站变换设备坐标设备坐标规范化观察坐标规范化观察坐标三维裁剪三维裁剪裁剪空间到规范化裁剪空间到规范化投影空间的变换投影空间的变换规范化观察坐标规范化观察坐标 在不考虑隐藏面消隐时,完整的三维观察过程可由以下在不考虑隐藏面消隐时,完整的三维观察过程可由以下步骤实现:步骤实现:应用变换应用变换Npar或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版中药材供应链合作合同样本版B版
- 二手房交易简易协议范本(2024年版)版B版
- 个人间借贷协议规范文本2024年版版A版
- 2024年版车体钢筋作业劳务分包协议版B版
- 2024年退场结算与风险评估合作协议范本3篇
- 2025年度快餐餐饮品牌加盟连锁合作协议3篇
- 2024版建筑工程设计咨询合同3篇
- 2024浴室综合服务经营权转让合同版B版
- 2024版二手房定金协议书样本3篇
- 地面固化漆施工方案
- 大观念视域下小学英语单元整体教学的实践研究 论文
- 成品出货检验报告模板
- 物业工程管理安全培训课件
- 《文化苦旅》读书分享 PPT
- 氧化铝生产工艺教学拜耳法
- 2023年十八项医疗核心制度考试题与答案
- 气管切开患者气道湿化的护理进展资料 气管切开患者气道湿化
- GB/T 12706.1-2020额定电压1 kV(Um=1.2 kV)到35 kV(Um=40.5 kV)挤包绝缘电力电缆及附件第1部分:额定电压1 kV(Um=1.2 kV)和3 kV(Um=3.6 kV)电缆
- 管理模板:某跨境电商企业组织结构及部门职责
- 底架总组装工艺指导书
- 简单临时工劳动合同模板(3篇)
评论
0/150
提交评论