资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
3、画直线的算法有哪几种?画圆弧的算法有哪几种?c1)逐点比较法;(2)数值微分法;(3)Bresenham算法。画弧线的常用方法有:(1)逐点比较法;(2)角度DDA法;(3)Bresenham算法。4、分别写出平移、旋转、缩放及其组合的变换矩阵。1)平移变换:其中, , , 是物体在三个坐标方向上的位移量。2)旋转变换:绕Z轴旋转的公式为:绕X轴旋转的公式为:绕Y轴旋转的公式为:如果旋转所绕的轴不是坐标轴,设其为任意两点p1,p2所定义的矢量,旋转角度为 。则可由7个基本变换组合构成:1 使p1,点与原点重合;2 ,使轴p1p2落入平面xoz内;3 ,使p1p2与z轴重合;4 ,执行绕p1p2轴的 角旋转;5,作3的逆变换;6 ,作2的逆变换;7 作1的逆变换。3)缩放变换:其中, , , 是物体在三个方向上的比例变化量。记为 。若对于某个非原点参考点 进行固定点缩放变换,则通过如下的级联变换实现:5、如何用几何变换实现坐标系的变换?坐标系的变换,亦即将某一坐标系lcs1中的点 变换为另一个坐标系lcs2下的坐标 。若 , 矩阵的推导分三步。1)将lcs1中的点变换到世界坐标系的矩阵 ;x_axis, y_axis, z_axis 为lcs1中x,y,z轴矢量在世界坐标系的表示org为lcs1中原点在世界坐标系的表示2)将世界坐标系的点变换到lcs2中的点矩阵 ;x_axis, y_axis, z_axis 为lcs1中x,y,z轴矢量在世界坐标系的表示org为lcs1中原点在世界坐标系的表示a = - x_axis.x * org.x - x_axis.y * org.y - x_axis.z * org.zb = - y_axis.x * org.x - y_axis.y * org.y - y_axis.z * org.zc = - z_axis.x * org.x - z_axis.y * org.y - z_axis.z * org.z6、写出几种线裁剪算法;写出几种多边形裁剪算法。(1)、矢量裁剪法(2)、编码裁剪法(3)、中点分割裁剪法多边形的裁剪算法:(1)、逐边裁剪法(2)、双边裁剪法7、写出Bezier曲线和面片的几种表达形式。空间给定的n+1个点 ,称下列参数曲线为n次的Bezier曲线。其中 是Bernstein基函数,即 i = 0,1,n空间给定的(n+1)*(m+1)个点 为曲面片的控制顶点(i = 0,1,n; j = 0,1,m),则下列张量积形式的参数曲面为 次的Bezier曲面:Bezier曲面齐次坐标形式为:其中 为Bernstein多项式。8、写出B样条的矩阵形式和调和函数。为什么使用非均匀有理B样条?n+1个控制点 ,K阶(K-1次)B样条曲线的表达式是:其中 是调和函数,按照递归公式可定义为:其中 是节点值, 是K阶B样条函数的节点矢量。非均匀B样条函数的节点参数沿参数轴的分布是不等距的,近年来,它得到了广泛的发展和应用,主要原因是:(1) 对标准的解析形状(如圆锥曲线,二次曲线,回转面等)和自由曲线,曲面提供了统一的数学表示,无论是解析形状还是自由格式的形状均有统一的表示参数,便于工程数据库的存取和应用。(2) 可通过控制点和权因子来灵活的改变形状。3) 对插入节点,修改,分割,几何插值等的处理工具比较有利。(4) 具有透视投影变换和仿射变换的不变性。(5) 非有理B样条,有理及非有理Bezier曲线,曲面是NURBS的特例表示。9、简述边界表示法(BREP)实体构造表示法(CSG)。边界表示法是用实体的表面来表示实体的形状,它的基本元素是面、边、顶点。它以欧拉公式作为理论基础,要求实体的基本拓扑结构符合欧拉公式。目前采用的比较多的数据结构是翼边数据结构和半边数据结构(又称对称数据结构)。实体构造表示法的基本思想是将简单的实体(又称体素)通过集合运算组成所需要的物体。其中,集合运算的实现过程由一棵二叉树来描述,二叉树的叶子节点表示体素或者几何变换的参数,非终端节点表示施加于其子结点的正则集合算子或几何变换的定义。10、写出透视变换矩阵和各种投影(三视图、正轴测和斜投影)变换矩阵。透视变换矩阵形式为: 主视图: 俯视图: 侧视图: 正轴测: 斜投影:11、观察空间有哪些参数?其作用是什么?写出从物体空间坐标系到观察空间坐标系转换矩阵。参数 名称 作用 VRP 观察参考点 确定观察坐标系原点 VPN 观察平面法向 确定观察平面法向 VUP 观察正向 确定观察平面上v轴的方向 F 前截面距离 确定前截面位置 B 后截面距离 确定后截面位置 Pt 投影类型 定义投影是平行投影还是透视投影 PRP 投影参考点 确定投影中心或投影方向 Umin,Umax,Vmin,Vmax 观察窗口 在观察平面上定义观察窗口 从物体空间坐标系到观察空间坐标系的转换矩阵:12、分别写出对于透视投影和平行投影的从裁剪空间到规范化投影空间的转换矩阵。平行投影:Tvcper=T3T4T5parT6par透视投影:Tvcper=T3T4T5per13、写出从规范化投影空间到图像空间的转换矩阵。14、写出光线与几种常见物体面的求交算法。假设光线射线定义为X=Dt+E (t=0)其中,E=(e1,e2,e3)为射线起点,D=(d1,d2,d3)为射线方向,|D| = 1,X=(x,y,z)为射线上任意点。1)与多边形求交算法假设多边形所在的平面方程为ax+by+cz+d = 0把射线参数方程代入平面方程得到:t0 = - (N * K + d) / (N * D) (N*D0)当N*D = 0时,射线和多边形平行;当N*D0,交点为X0 = Dt0 + E。这时,还要判断交点是否在多边形上。判断时,只要把交点和多边形投影到某个坐标平面上判断即可。2)与球面求交算法设球心在P0(x0,y0,z0),半径为r的球面方程为(P P0) * (P P0) = r * r代入射线方程,有at*t + bt + c = 0其中a = D*D,b = 2D *(E-P0),c = (E-P0) * (E-P0) r * r当b*b-4ac0时,无交点。否则,射线与球面交于两点,由求根公式可以求出。3)与柱面求交算法一个底面中心为P0,对称轴方向为AXIS,半径为r,高为h的圆柱定义如下:(P P0) * (P- P0) (AXIS * (P P0) * (AXIS * (P P0) r * r = 0AXIS * (P P0) = 0时,可以由求根公式求出解。求出t以后,还要看是否满足后面两个不等式,才能决定是否在圆柱面上。15简述消隐算法的分类。根据消隐空间的不同,消隐算法可分为两类:(1)物体空间的消隐算法:物体空间是物体所在的空间,即规范化投影空间。这类算法是将物体表面上的K个多边形中的每一个面与其余的K-1个面进行比较,精确求出物体上每条边或每个面的遮挡关系。计算量正比于K2。(2)图象空间的消隐算法:图象空间就是屏幕坐标空间,这类算法对屏幕的每一象素进行判断,以决定物体上哪个多边形在该象素点上是可见的。若屏幕上有mn个象素点,物体表面上有K个多边形,则该类消隐算法计算量正比于mnk。16、简述深度缓存算法及其特点。深度缓存算法是一种典型的、也是最简单的图象空间的消隐算法。在屏幕空间坐标系中, 轴为观察方向,通过比较平行于 轴的射线与物体表面交点的 值(又称为深度值),用深度缓存数组记录下最小的 值,并将对应点的颜色存入显示器的帧缓存。深度缓存算法最大的优点是简单。它在 、 、 方向上都没有进行任何排序,也没有利用任何相关性。算法复杂性正比于 。在屏幕大小,即 一定的情况下,算法的计算量只与多边形个数 成正比。另一个优点是算法便于硬件实现,并可以并行化。17、简述点与多边形之间的包含性检测算法。先将该点变换到多边形所在平面,在二维空间讨论该问题,过该点沿任意方向做一条射线,与多边形边界求交点,若交点个数为偶数,0,2,4,则该点在多边形外部,否则在内部。如果射线与多边形某条边、某个顶点重合,则可以改变射线方向重新测试。18、描述扫描线算法。扫描线算法如下:(1)对于每个多边形,根据多边形顶点的最小的y值,将多边形置入多边形Y桶。(2)有效多边形表APT初始化为空,有效边表初始化为空。(3)对每一条扫描线j,j从最小值1开始,做以下工作: 颜色缓存CB置为背景色。 深度缓存ZB置为机器无穷大。 检查多边形Y桶中对应扫描线j的链中是否有新的多边形。如有,则将新多边形加到有效多边形表APT中。 对于新添到有效多边形表中的多边形,生成对应的边Y桶。 对于有效多边形表APT中的每一个多边形,若其边Y桶中对应扫描线j有新的边,则将新边配对加入到有效边表AET中。 对于有效边表AET中的第一个边对,计算起止x坐标间点的z值,与ZB中对应值比较,若小,在更新ZB的值,并将该点颜色值存入CB。 将CB的内容写入显示器帧缓存的第j行。 检查有效多边形表APT中的个多边形,若多边形顶点的最大Y坐标已等于j,则从APT中删去多边形,释放对应的边Y桶的空间,并从有效边表AET中删去属于该多边形的所有边对。 检查有效边表AET的每一边对,调整相应的起止x坐标,和z值。19、简述几种阴影生成算法。阴影生成算法主要分为如下几种:影域多边形方法:由于物体遮挡光源后在它们后面形成一个影域,所以确定某点是否落在阴影中只要判别该点是否位于影域即可。曲面细节多边形方法:基于多边形区域分类的隐藏面消去算法,通过从光源和视点两次消隐生成阴影。z缓冲器方法:该方法分为两部。首先,利用z缓冲器消隐算法按光源方向对景物进行消隐。在z缓冲器(阴影缓冲器)中记录离光源最近景物点的深度值。第二部,采用z缓冲器消隐算法按视线方向计算画面。将每一象素对应点变换到光源坐标系,并用变换后点的深度值与阴影缓冲器中的深度值比较,若阴影缓冲器中的深度值较小,则说明该点从光源方向不可见,位于阴影中。光线跟踪方法:在光线跟踪算法中,要确定某点是否在某个光源的阴影内,只要从该点出发向
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号