计算机游戏概论3D基的本算法.ppt

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机游戏概论3D基的本算法

本 章 重 点;9-1 3D坐标系;9.1.1 坐标转换;如果在空间中形成了两个以上的坐标系统,我们就必须要使用其中的一个坐标系统来描述其它不同的坐标系统,这些不同的坐标系统必须要经过一些特殊的转换才能让这个坐标系统所接受,而这种转换的过程我们就称为「坐标转换」。;9.1.2 Model坐标系统;9.1.3 World坐标系统;9.1.4 View坐标系统;9.1.5 坐标转换;9-2 坐标矩阵 ;9.2.1 齐次坐标;9.2.2 矩阵平移(Translation) ;;9.2.3 矩阵旋转(Rotation) ;;;;X;9.2.4 矩阵缩放(Scaling) ;;9.2.5 矩阵的结合律 ;;9.2.6 Direct3D矩阵;#define D3D_OVERLOADS #include d3d.h ? D3DMATRIX mat; ? //下面三种表示方式的意思都是一样的 mat._13 = 0.8f; mat[1][3] = 0.8f; mat(1,3) = 0.8f;;;;9.2.7 向量表示法 ;矩阵相乘;向量相乘 ;两个向量进行dot product的运算 ;计算向量的长度 ;计算向量的单位向量 ;向量相加 ;9-3 投影转换 ;9.3.1 平行投影 ;;我们可以在投影线与投影面交叉角度的基础上更进一步地细分平行投影。如果交叉的角度是直角的话,我们则称之为「正交投影」(orthographic);不是直角的话,我们则称为「倾斜投影」(oblique)。; 9.3.2 透视投影 ;;;无深度投影;;9-4 裁剪 ;;线段的裁剪 ;在光栅处理阶段之前,先进行裁剪处理,适合处理简单的图形单位。(如多边形) 在光栅处理阶段同时进行,适合于复杂图形。 当裁剪区域中几何结构比较复杂时,选择较大的Buffer光栅图形。然后在Buffer中选择在该复杂裁剪区域内部的图形。;光栅处理:投影转换把物体图形坐标从3D空间映射到屏幕的2D空间,这些图形必须在2D空间中被绘制,使观察者可见。既然我们考虑的是由一系列整齐地镶嵌的小方块组成的光栅图形,因此我们要确定这种几何像素的模拟描述要如何能够被正确地转换成一系列的离散图形,而这种过程我们称之为“光栅处理”(rasterization);9.4.2 点的裁剪;9.4.3 线段的裁剪;剪裁线; ;区域外编码(region out code);第二步 ,建立线段端点的区域编码。;;具体操作: (1)可以按照left,right, bottom, top的顺序检查线段端点与窗口边界之间的关系。 现通过例子对该算法进行说明。考虑线段P1P2的端点P1,依次检查P1与窗口的左、右和下边界间的位置??系,发现P1点在裁剪窗口的下面。于是求出该线段与窗口底边界的交点P1’。这时,线段变为P1’P2。由于P2在裁剪窗口之外,通过检查该端点与窗口边界的关系发现,它在窗口的左侧。可以计算出线段P1’P2与窗口左边界的交点为P2’,该点位于窗口的上部,因此最后的交点为P2’’。线段P1’P2’’保留。;或;剪裁线;对于图形的应用而言,不涉及到乘法或除法的方法通常可以增加运算速度,在裁剪这种情况中,我们可以使用“二元搜寻”这种方法来运算。;第一次运算的终点;9.4.4 多边形的裁剪;;;原来线段;;3D裁剪 ;;;;9-5 隐藏面消除 ;;凸面体;这个面被其它面挡住了;;;;9.5.2 排序 ;;从前边节已经看到,一般多边形模型隐藏面消除的代价极高,然而在大多数情况下,我们要处理的对象有一些特殊的属性,利用这些属性可以减轻隐藏面的消除工作量。例如在以“高度值运算“来处理表面的地形曲面时。就很容易地获得多边形视点从前到后的顶点顺序。 由于这种表面方法具有矩形自然的属性,地形就可以被分割成许多正方形的单元格。;当观察者在一些单元边界内位于虚拟地形表面上或表面的上方。我们能够把整个的地形分割为四个规则的子地形,如下图。 ;;;有这种规律的特性,我们可以将它作为由后到前寻找地形顺序的依据,而这种特性就可以使用“八叉树”的存储规则,或者也可以用在空间占有的矩形来描述映射。 在这种情况下,我们利用类似高度场的方法,扩展成为处理三维顶点而不是二维顶点。;;Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.;9.5.4 二元空间分割树;Front;当视点开始移动时,平面景象就必须被重新绘制。而重绘就是以视点为基础,对此BSP Tree加以分析,只要在BSP Tree中,且位于此视点前方,它就会被存放在一个串行当中,最后我们只要按照串行的顺

您可能关注的文档

文档评论(0)

ayangjiayu1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档