为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

计算机图形学 课后练习(全剧终)

2018-09-09 12页 doc 247KB 47阅读

用户头像

is_726571

暂无简介

举报
计算机图形学 课后练习(全剧终)注:虽然知道妳们肯定恨死这个了…哎。总是要应付的。 如果勾的题目没错的话,这里就包括所有作业题了,因为图形确实偏难,所以我想作业是复习的重心。毕竟都只是自己做的,计算部分应该都没问题,但理论题可能会有出入。有发现问题随时告诉我吧。 当然我已经都尽量参照书本了,每题也都标注了概念在书本上对应的位置。还是希望能有哪怕一点帮助吧。 ---------------------第一章(P10)------------------- 作业题 4.回忆一下你所见到的计算机图形学的应用实例。 解:(P5-P9) 应用领域: 1)计算机辅助...
计算机图形学 课后练习(全剧终)
注:虽然知道妳们肯定恨死这个了…哎。总是要应付的。 如果勾的题目没错的话,这里就包括所有作业题了,因为图形确实偏难,所以我想作业是复习的重心。毕竟都只是自己做的,计算部分应该都没问题,但理论题可能会有出入。有发现问题随时告诉我吧。 当然我已经都尽量参照书本了,每题也都标注了概念在书本上对应的位置。还是希望能有哪怕一点帮助吧。 ---------------------第一章(P10)------------------- 作业题 4.回忆一下你所见到的计算机图形学的应用实例。 解:(P5-P9) 应用领域: 1)计算机辅助与制造(CAD/CAM):计算机图形学的研究成果被广泛应用于如AutoCAD,UG,SolidWorks等机械,建筑,电子等许多领域的辅助设计中。 2)动画制作:利用计算机图形软件制作动画,效率比手工高出许多,且可应用于电影,电视以及各种具破坏性的模拟实验中。 3)艺术创作:计算机绘画。 4)科学计算可视化:利用计算机图形学将科学计算所得数据用图形直观现出来,以便。 5)虚拟现实技术:利用计算机图形学建立的高级人机交互环境。 6)图形显示和绘制:广泛应用于气象,地理,领域。 7)计算机辅助教学。 --------------------第二章(P28)------------------- 思考题 6.请说出光栅扫描显示器的颜色数和分辨率与显存的关系。 解:(p16)光栅扫描显示器的颜色数和分辨率均与显存有关,分辨率越高,颜色总数越多,所需要的显存容量就越大。 (其实它们是有数量关系的:显存容量 = 水平分辨率 垂直分辨率 色彩深度/8 但是显存毕竟是可以做得比这个标准值大的。这我自己写的。参考。) 练习题 1.用OpenGL编制一个程序,绘制一个圆锥体和一个球。 不懂他搞这题是要怎样。光初始化OpenGL就得花上半天功夫。估计也不会考。无视。 --------------------第三章(P50)-------------------- 思考题 1.直线Bresenham算法是基于什么思路? 解:(p29) 直线Bresenham算法根据直线的斜率在计长方方向(x或y)上,每次都递增1个单位步长即1个像素单位,另一个方向的增量为0或1,以此来选择直线的最佳光栅位置(即像素点)。 4.弄清楚多边形的扫描线算法的概念与处理步骤。 解:(P36,P40-P41) 概念:按扫描线的顺序确定其上的某一点是否位于多边形范围之内。以每条扫描线与多边形各边求交点,并对交点两两配对后进行填充。 处理步骤: (1)数据准备: a.对所有扫描线建立旧y桶。对多边形的每条边求出与之相交的最高扫描线及最初交点的x坐标, ,较低端点的扫描线y坐标一起存入该扫描线的(旧)数据链表中。 b.将旧y桶中的非空扫描线重新建y桶,对应的旧数据链表也移入新数据链表,并在新y桶与新数据链表间建立指针域。释放旧y桶,旧数据链表。 (2)扫描转换: a.从最高的扫描线开始,检查相应新y桶中是否有新边,将新边移入该扫描线的活化边表。 b.将活化边表中的节点按交点x坐标从小到大排序形成交点表。 c.从交点表中成对取出交点,按左闭右开原则在扫描线 上填充交点间对应区域。 d.令 ,对下一条扫描线的每个边节点检查 是否小于 ,若是,将该边从数据链表中删除。对每个边节点更新 e.对每条扫描线重复a-d。 练习题 1.用直线Bresenham算法计算从(1,0)到(6,4)线段的每一个像素的位置,并画出。 解:(p31 例3-1) dx = 6-1 = 5,dy = 4-0 = 4,dy/dx = 4/5<1 d1 = 2dy-dx = 3>0 选择点T1 = X0+(1,1) = (2,1) di x y 1 0 3 2 1 1 3 2 -1 4 2 7 5 3 5 6 4 d2 = d1+2*(dy-dx) = 3+2*(4-5) = 1>0 选择点T2 = T1+(1,1) = (3,2) d3 = d2+2*(dy-dx) = 1+2*(4-5) = -1<0 选择点S3 = T2+(1,0) = (4,2) d4 = d3+2dy = -1+2*4 = 7>0 选择点T4 = S3+(1,1) = (5,3) d5 = d4+2*(dy-dx) = 7+2*(4-5) = 5>0 选择点 T5 = T4+(1,1) = (6,4) 结果如图,表所示。 --------------------第四章(p103) ------------------- 思考题 1.为什么在投影变换时要进行坐标系变换? 解:(P79) 因为投影变换是将三维形体变换至二维平面,而三维形体可以由左手坐标系表示也可以由右手坐标系表示,且投影坐标系除了一个三维坐标系之外还包含一个投影面。为了统一表示,应在投影变换时进行坐标系变换。 练习题 1.写出实现下述映射的规范化变换,将左下角在(1,1)、右上角在(3,5)的窗口映射到: (a).规范化设备的全屏幕区(0,0),(1,1)。 (b).左下角在(0,0)、右上角在(1/2,1/2)的视区。 解:(p53) 依题意得:Wx1 = 1,Wy1 = 1,Wx2 = 3,Wy2 = 5 (a)此时有Vx1 = 0,Vy1 = 0, Vx2 = 1,Vy2 = 1 设将窗口中一点(Xw,Yw)变换为视口中一点(Xv,Yv),则由窗口到视口的变换公式: 得此时窗视映射为: (b)此时有Vx1 = 0,Vy1 = 0, Vx2 = 1/2,Vy2 = 1/2 设将窗口中一点(Xw,Yw)变换为视口中一点(Xv,Yv),则由窗口到视口的变换公式: 得此时窗视映射为: 5.设点P(2,-4),求出旋转30’的新坐标。 解:(P64) 设旋转30’所得点的坐标为P’(x’,y’) 则有: 6.将三角形A(0,0),B(1,1),C(5,2)放大两倍,保持C(5,2)的位置不变,试推出其变换矩阵T并求出该三角形的新坐标。 解:(P67)应进行组合变换。以C(5,2)点为中心进行放大,故先将C点平移至原点,该变换矩阵为: 再对图形进行等比例放大2倍,对应变换矩阵为: 最后将C平移回原有位置,对应变换矩阵为: 故整个变换可写为: T = T1*T2*T3 = 对三角形三个顶点在齐次坐标下进行变换T: A’ = A*T = B’ = B*T = 故变换后三角形的新坐标为: A’ = ,B’ = ,C’ = --------------------第五章(P165) ------------------- 思考题 3.什么形式成为形状描述的标准形式,与其他的显函数、隐式方程比较有哪些优点?有无缺点?是否满足形状描述的所有要求? 解:(P105-P107) 参数形式是形状描述的标准形式。 与非参数形式(显函数,隐式方程)比较有以下优点: (1)具有几何不变性。(2)易于规定曲线,曲面的范围。 (3)便于计算曲线,曲面上点及其他信息。(4)便于进行几何变换。 (5)易于表示空间曲线。(6)便于处理多值问题与无穷大斜率。 (7)便于曲线,曲面的分段,分片描述。(8)易于编程实现。 缺点: (1)参数曲线曲面需要选取恰当的基函数表示,才能满足形状数学的要求。 (2)由于参数空间的存在,应用参数曲线曲面时,需要先对数据实行参数化。而即使对于同一组点与同一种插值方法,参数化不同,所得插值曲线曲面也不同,其形状数学性质也不同。 是否满足形状描述的所有要求?(这个问题…fuck…不知道。) 8.改变一个数据点,将改变几段弗格森参数三次曲线的形状? 解:(P115) 改变一个数据点,一般仅影响改点的前后相邻的那两段弗格森参数三次曲线的形状。 9.弗格森参数三次曲线,参数三次样条曲线与Beizer曲线、B样条曲线描述曲线的方法有何不同? 解:弗格森三次曲线(P114),参数三次样条曲线(P112)是以直接插值于给定的数据点及其切矢的方法来描述曲线。 Beizer曲线(P120),B样条曲线(P128)则是以一组给定的控制顶点定义控制多边形,以逼近为基础的方法来描述曲线。 10.Beizer曲线的伯恩斯坦基函数表达式是什么? 解:Beizer曲线的伯恩斯坦基函数表达式为:(P121) 11.Beizer曲线具有哪些性质? 解:Beizer曲线的性质(P123-P124) (1)端点重合:Beizer曲线首末端点与控制多边形的首末端点重合。 (2)导矢性质:Beizer曲线首末端点k阶导矢分别只与控制多边形的首末k条边有关。 (3)几何不变性:对Beizer曲线的仿射变换等价于对其控制顶点的仿射变换。 (4)对称性:将Beizer控制点列顺序取反,则定义的曲线是同一条曲线,只是方向相反。 (5)凸包性质:Beizer曲线恒位于其控制顶点所确定的凸包内。 (6)变差减小性质:任意平面与Beizer曲线的交点数不超过它与控制多边形的交点数。 (7)移动一个控制顶点,影响整条曲线的形状,且改变量是可以计算的。 12.如何计算Beizer曲线上的点?哪种方法最好? 解:(P124)计算Beizer曲线上的点可以采用伯恩斯坦基,幂基,矩阵等形式,也可采用de Casteljau算法计算。其中de Casteljau的递推算法最好,因为它可以计算任意次数的Beizer曲线上的点,具有通用性,且便于计算机实现。 13.B样条曲线是如何定义的? 解:(P128-P129) B样条曲线采用控制顶点定义曲线,采用B样条基函数。 给定控制顶点 ,则由它们确定的B样条曲线为: 其中 定义为(de Boor,Cox定义): 14.什么是B样条曲线的支撑区间? 解:(P129)B样条基的递推定义表明,欲确定第i个k次B样条基 ,需要用到 共k+2个节点,故称 为 的支撑区间。 15.B样条曲线的分段表达式是什么? 解:(P130)B样条曲线的分段表达式为: 16.均匀和准均匀B样条曲线的节点矢量如何定义的?分别写出他们的节点矢量。 解:均匀B样条曲线(P133) 节点矢量沿参数轴均匀(等距)分布,一般使用: 准均匀B样条曲线:(P133) 节点矢量中两端节点具有重复度k+1,即 及 ,除此之外,定义域内节点 也是均匀等距分布。 如 且 17.节点矢量和定义域各有什么用途? 解:节点矢量:(P129)节点矢量的作用是定义B样条基,即定义各段B样条曲线的支撑区间,为 定义域:(P131)定义域用于定义B样条曲线,为 (其中n+1为控制节点个数,k为B样条曲线的次数。) 练习题 3.已知 定义一条Beizer曲线p(t), 。用de Casteljau算法求出点P(1/4),并画出其图解过程。 解:(P125 例5-3) 根据de Casteljau算法得: 图解过程如下: 4.如图所示,若二次均匀B样条曲线的起始点和终止点分别为d0和d5,求出d0*和d5*。 解:由二次均匀B样条曲线的性质(P135) 两段相邻的B样条曲线的连接点位于控制多边形相应各边的中点,故可得: 以及 解得: 以及 6.大致勾画出三次均匀B样条曲线,其中d0=(0,0),d1=(20,40),d2=(40,36),d3=(50,0),单位mm。 解:(P136) 由三次均匀B样条曲线分段连接点性质知: 同时 以及 由以上即可作出大致的图形如下: 7.设给定控制定点di,i=0,1,2,…,9,定义一条三次B样条曲线,确定:节点矢量U;曲线定义域;当定义域内不含重节点时,曲线的段数;样条曲线定义在 上那一曲线段由哪些控制顶点定义?移动控制顶点d5和d8将影响到哪些曲线段的形状? 解:(P133) 依题意知控制定点数 n+1 = 10 故 n = 9 曲线次数 k = 3 故: 1)节点矢量: 2)曲线定义域: 即 3)当定义域内不含重节点时,曲线的段数为 n-k+1 = 7段。 4) 定义在 上的样条曲线由控制顶点 即 定义。 5) 移动控制顶点d5,因i=5,故至多影响定义在 上的那些曲线段的形状。 移动控制顶点d8,因i=8,故至多影响定义在 上的那些曲线段的形状。但因曲线定义域为 ,故实际上只影响 上曲线段的形状。 --------------------第七章(P212)------------------- Q:常用的消隐线,面效用算法有哪些?原理是什么? 解:(P205-P212) 常用的线面消隐算法有凸多面体隐藏面算法,任意平面立体隐藏线算法,深度缓冲器隐藏面算法,扫描线深度缓冲器算法。 原理: 凸多面体隐藏面算法:对单个凸多面体的每个平面,计算其外法矢与视线矢量的夹角,若夹角小于 ,则画出该面,否则不画出该面。 任意平面立体隐藏线算法:将形体上朝前面上的H3类(棱边所在的两平面一个朝前一个朝后,但两面夹角小于 (P205)),H4类(棱边所在的两平面均为朝前面(P205))棱边构成形体的每个表面作包围盒检验,深度检验和求交等处理,以决定棱边的可见性。 深度缓冲器隐藏面算法:将投影平面每个像素所对应的所有面片(平面或曲面)的深度进行比较,然后取最近面片的对应像素属性值作为该像素的属性值。 扫描线深度缓冲器算法:在Z-Buffer算法的基础上将场景按扫描线划分成小区域。对每条扫描线,求它与画面中每个多边形二维投影之间的交点,逐对考察交点之间的像素,将其深度与深度缓冲器在该位置的原有值比较。若大于原有值,则该像素可见,否则不可见。 --------------------第八章(P221) ------------------- 思考题 2.兰伯特、古兰德和冯氏算法三种算法的异同是什么? 解:(P218-220) 各自特点: Lambert Shading:(使每个多边形面片都使用同一个法矢量) 优点:处理速度最快。 缺点:光强不连续。使曲面表面呈现出多个小平面。 Gourand Shading:(通过在面片上将光强度进行线性插值) 优点:解决了Lambert Shading光强不连续的问题。 缺点:Mach-band效应:面上高光可能出现异常形状。线性光强插值将导致表面过亮或过暗的条纹。 Phong Shading:(对法矢量进行线性插值) 优点:逼真,局部模拟了曲面弯曲性,较好地隐藏了多边形。Mach-band效应较小。 缺点:计算量大于Gourand Shading。 共同点:Gourand Shading 和Phong Shading的本质均为线性插值,均可能出现Mach-band效应。 共同缺点:三种算法都做不到使物体表面完全光滑。 _1396288430.unknown _1396364348.unknown _1396365414.unknown _1396451165.unknown _1396451617.unknown _1396451948.unknown _1401816260.unknown _1396452042.unknown _1396451672.unknown _1396451541.unknown _1396451600.unknown _1396451473.unknown _1396365479.unknown _1396365666.unknown _1396450659.unknown _1396365719.unknown _1396365584.unknown _1396365023.unknown _1396365159.unknown _1396365239.unknown _1396365277.unknown _1396364575.unknown _1396364471.unknown _1396289896.unknown _1396364010.unknown _1396364137.unknown _1396364248.unknown _1396364102.unknown _1396289913.unknown _1396363998.unknown _1396289904.unknown _1396288761.unknown _1396289553.unknown _1396289600.unknown _1396288762.unknown _1396288646.unknown _1396288760.unknown _1396288594.unknown _1396110521.unknown _1396287822.unknown _1396288131.unknown _1396288200.unknown _1396288054.unknown _1396111189.unknown _1396111493.unknown _1396111505.unknown _1396111612.unknown _1396111220.unknown _1396111359.unknown _1396111130.unknown _1396111136.unknown _1396108573.unknown _1396109635.unknown _1396110460.unknown _1396109651.unknown _1396110381.unknown _1396109382.unknown _1396107513.unknown _1396107548.unknown _1396107426.unknown
/
本文档为【计算机图形学 课后练习(全剧终)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索