计算机图形学5套模拟题.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
. . 组卷规则:每套模拟题5个问答或者计算或者证明题,每题20分。 《计算机图形学基础》模拟试题(1) 1、 简述Cohen-Sutherland 裁剪方法的思想,并指出与之相比,中点裁剪方法的改进之处,及这种改进的理由。 答:Cohen-Sutherland 裁剪算法的思想是:对于每条线段P1P2分为三种情况处理。(1)若P1P2完全在窗口内,则显示该线段P1P2简称“取”之。(2)若P1P2明显在窗口外,则丢弃该线段,简称“弃”之。(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则求线段与窗口交点,在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。中点分割算法的大意是,与Cohen-Sutherland 算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况: 全在、完全不在和线段和窗口有交。对前两种情况,进行同样的处理。对于第三种情况,用中点分割的方法求出线段与窗口的交点。即从P0点出发找出距P0最近的可见点A和从P1点出发找出距P1最近的可见点B,两个可见点之间的连线即为线段P0P1的可见部分。从P0出发找最近可见点采用中点分割方法:先求出P0P1的中点Pm,若P0Pm 不是显然不可见的,并且P0P1 2、 在Phong 模型I=I 答:三项分别代表环境光、漫反射光和镜面反射光。Ia为环境光的反射光强, Ip为理想漫反射光强, Ka为物体对环境光的反射系数, Kd为漫反射系数, Ks为镜面反射系数,n 为高光指数,L 为光线方向,N 3、 针对多面体模型,直接用Phong 模型绘制会有什么问题?简述两种增量式光照明模型(明暗处理)的基本思想,并指出两个算法的主要区别。 答:针对多面体模型,使用Phong模型绘制会在多边形与多边形之交界处产生明暗的不连续变化,影响了曲面的显示效果,即马赫带效应。如果增加多边形个数,减小每个多边形的面积,当然也能改善显示效果。但是这样一来,数据结构将迅速膨胀,导致操作的空间与时间上升。增量式光照模型的基本思想是在每一个多边形的顶点处计算合适的光照明强度或法向量,然后在各个多边形内部进行均匀插值,得到多边形光滑的颜色分布。它包含两个主要的算法:双线性光强插值和双线性法向插值,又被分别称为Gouraud明暗处理和Phong明暗处理。两种算法的主要区别为:Gouraud明暗处理采用光强插值,而Phong明暗处理采用法向插值。 4、 解释走样和反走样的概念,并给出三种以上反走样方法(只写名称)。 答:在光栅显示器上显示图形时,直线段或图形边界或多或少会呈锯齿状。原因是图形信号是连续的,而在光栅显示系统中,用来表示图形的却是一个个离散的象素。这种用离散量表示连续量引起的失真现象称之为走样;用于减少或消除这种效果的技术称为反走样。反走样的方法有:提高分辨率、区域采样和加权区域采样。 5、 依次写出用中点画线法进行直线扫描转换,从点(5,5)到(15,11)经过的象素点。 答:5 5、6 6、7 6、8 7、9 7 《计算机图形学基础》模拟试题(2) 1、设一条二次Bezier 曲线的控制顶点为P0、P1、P2,另一条二次Bezier 曲线的控制顶点为Q0、Q1 、Q2, P 解:如下图所示,由于可以精确合并,说明两曲线是由一条曲线在参数 0λ1处分割而来,假设原曲线的控制顶点为P0, X, Q2. 由de Castejau 算法, 首先要求P0,P2 2、设一条三次Bezier 曲线的控制顶点为P0、P1、P2、P3, 对曲线上一点P12及一个给定的目标点T,给出一种调整 解:假设我们改变其中的一个控制顶点,比如将P1调整到P1+λ,使得P1 P 即:T=P12+λ?B1,31 3、写出只用点Z-Buffer(一个变量)的消隐算法,比较其和传统Z-Buffer(一个二维数组)的消隐算法的区别。 答:只用点Z-Buffer(一个变量)的消隐算法如下: Z-Buffer() { 帧缓存全置为背景色 //扫描整个屏幕 for(屏幕上的每个象素(i,j)) { 深度缓存变量zb置最小值MinValue for(多面体上的每个多边形Pk) { if(象素点(i,j)在pk的投影多边形之内) { 计算Pk在(i,j)处的深度值depth; if(depth大于zb) { zb = depth; indexp = k; } } } if(zb != MinValue) 计算多边形Pindexp在交点 (I,j) 处的光照颜色并显示 } } 传统的Z-Buffer算法需要有帧缓存和一个二维数组的z深度缓存。在把显示对象的每个面上每一点的属性(颜色或灰度)值填入帧缓冲器相应单元前,要把这点的z坐标值和z缓冲器中相应单元的值进

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档