- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三维形体的显示
第8章 三维形体的显示 8.1 三维形体输出流程图 8.2 观察坐标系的建立 8.3 观察变换 8.4 投影变换 8.5 观察体与三维裁剪 8.6 三维形体完整的输出过程 * 8.1 三维形体输出流程图 1. 三维形体显示与二维物体显示存在许多不同的地方: (1) 允许从任意空间位置观察物体: 从前面、上面和后面。 也可以从一组物体的中间或一个物体的内部观察物体,如建筑物。 (2) 三维物体必须投影到二维的显示(输出)设备上。 (3) 裁剪空间是体空间。 2. 观察流水线 用计算机模拟三维形体显示的步骤与照相机拍照的过程有点相似,但更加灵活,选择多样。 下图描述了将用户坐标系中描述的物体转换成设备坐标的过程。 造型坐标 造型变换 用户坐标 观察变换 观察坐标 投影变换 投影坐标 工作站变换 设备坐标 8.2 观察坐标系的建立 我们可以在任意地点、任意距离和任意角度给物体拍照,并通过相机的孔径大小选择拍摄自己感兴趣的部分。 类似地,给定观察位置、方向及“相机”的孔径大小,我们可以用图形软件包在二维平面上显示三维物体。基本思路是建立一个满足左手坐标系法则的观察坐标系。 xv zv yv u v n 建立观察坐标系的步骤: 1. 在用户坐标系中选取一点P0作为观察坐标系的原点,该点称为观察参考点。 选取zv轴的正向 在景物附近或景物上取一点P,将N=P0P (表示矢量)选为zv轴的正向。这里,N称为观察方向。 xw yw zw P0 ? ? P zv 3. 确定yv轴的正向。方法如下: 选取一个观察正向V,将它投射到过P0并与N垂直的平面上。注意:可任意选取不与N平行的V。 补充说明: 选定V后,建立yv和xv轴的另一种方法是:由N,V作叉积求出第三个向量U,它垂直于N和V,由此确定xv轴 。然后由N和U作叉积确定与它们垂直的向量 v。 zv zv P0 ? V yv xv u v n zv P0 V yv N P0 ? V yv xv uvn系统 观察平面的选取: 与zv轴垂直即与xvyv平面平行的平面。 xv zv yv ? ? 8.3 用户坐标系到观察坐标系的变换——观察变换 观察坐标系由用户坐标系中的观察参考点P0、观察方向N和观察正向V定义。设 记N与V的单位向量为 则 zv P0 ? V yv xv u v n a uvn系统 于是,根据第7 章坐标变换公式,可得观察变换为: 即 xw yw zw P0 ? ? P zv yv xv 8.4 投影变换 三维物体和二维显示平面不匹配的问题可通过投影变换解决,也就是把三维物体先变换到二维投影平面,然后再变换到显示屏表面。 一旦将物体的用户坐标转换成观察坐标,我们就可以将三维物体投射到二维观察平面上。 存在两种基本的投射方法: 透视投射和平行投射。 P1 P2 P2’ P1’ ? 观察平面(投影平面) 投射参考点(视点) (投影中心) 透视投影: 坐标点沿着相交于一点(称为投射参考点 或投射中心) 的直线被变换到观察平面。 P1 P2 P2’ P1’ 观察平面(投影平面) 平行投射(影) :坐标点沿着平行线被变换到观察平面。 两类投影的本质区别在于:透视投影的投影中心到投影平面的距离是有限的,而平行投影的投影中心到投影平面的距离是无限的。 两类投影的联系在于:当投影中心在无穷远处,投影线互相平行,这时透视投影变成平行投影。 定义平行投影时,给出投影方向(称为投影向量)就可以了,而定义透视投影时,需要明确地指定投影中心的位置。 8.4.1 平行投影 根据投影向量与投影平面的夹角不同,平行投影可分为正交平行投影和斜平行投影。 当投影向量与投影平面垂直时,称为正交平行投影,否则称为斜平行投影。 正交平行投影的变换方程很容易求出。假设观察平面位于zv轴上的zvp处,投射方向与zv轴平行(如下图所示),则观察坐标系中的任意点(x,y,z)被变换为观察平面上的坐标点(x,y,zvp),而原来的z坐标值保存起来,用作深度检测和可见面确定过程中的深度信息。 zv xv yv ? (x,y,z) (x,y) zvp ? ? 当zvp=0,即投影平面为xvyv坐标平面时,zp=0。这时正交平行投影的矩阵表达式为: 8.4.2 透视投影 投影参考点用的是观察坐标系中的三维点。假设投影参考点位于zv轴上的zprp处,则描述投影线的参数方程为: 观察平面 zv ? zvp ? ? P(x,y,z) ? (xp,yp,zvp) zprp 其中(x’,y’,z’)表示投影线段上的任意一点。 在观察平面上, z’=zvp,这时, 投影线
文档评论(0)