计算机图形学5套模拟题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间: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的中点P m,若P0P m不是显然不可见的,并且P0P1在窗口中有可见部分,则距P0最近的可见点一定落在P0P m上,所以用P0P m代替P0P1;否则取P m P1代替P0P1。再对新的P0P1求中点P m。重复上述过程,直到P m P1长度小于给定的控制常数为止,此时P m收敛于交点。改进之处在于,对第三种情况,不直接解方程组求交,而是采用二分法收搜索交点。这种改进的理由是:计算机屏幕的象素通常为1024×1024,最多十次二分搜索即可倒象素级,必然找到交点。而且中点法的主要计算过程只用到加法和除2运算,效率高,也适合硬件实现。

2、在Phong 模型I=I a K a+I p K d(L∙N)+I p K s(R∙V)n中,三项分别表示何含义?公式中的各个符号的含义指什么?

答:三项分别代表环境光、漫反射光和镜面反射光。I a为环境光的反射光强,I p为理想漫反射光强,K a为物体对环境光的反射系数,K d为漫反射系数,K s为镜面反射系数,n为高光指数,L 为光线方向,N 为法线方向,V 为视线方向,R 为光线的反射方向。

3、针对多面体模型,直接用Phong 模型绘制会有什么问题?简述两种增量式光照明模型(明暗处理)的基本思想,并指出两个算法的主要区别。

答:针对多面体模型,使用Phong模型绘制会在多边形与多边形之交界处产生明暗的不连续变化,影响了曲面的显示效果,即马赫带效应。如果增加多边形个数,减小每个多边形的面积,当然也能改善显示效果。但是这样一来,数据结构将迅速膨胀,导致操作的空间与时间上升。增量式光照模型的基本思想是在每一个多边形的顶点处计算合适的光照明强度或法向量,然后在各个多边形内部进行均匀插值,得到多边形光滑的颜色分布。它包含两个主要的算法:双线性光强插值和双线性法向插值,又被分别称为Gouraud明暗处理和Phong明暗处理。两种算法的主要区别为:Gouraud明暗处理采用光强插值,而Phong明暗处理采用法向插值。

4、解释走样和反走样的概念,并给出三种以上反走样方法(只写名称)。

答:在光栅显示器上显示图形时,直线段或图形边界或多或少会呈锯齿状。原因是图形信号是连续的,而在光栅显示系统中,用来表示图形的却是一个个离散的象素。这种用离散量表示连续量引起的失真现象称之为走样;用于减少或消除这种效果的技术称为反走样。反走样的方法有:提高分辨率、区域采样和加权区域采样。

5、 依次写出用中点画线法进行直线扫描转换,从点(5,5)到(15,11)经过的象素点。 答:(5 5)、(6 6)、(7 6)、(8 7)、(9 7)、(10 8)、(11 9)、(12 9)、(13 10)、(14 10)、(15 11)

《计算机图形学基础》模拟试题(2)

1、设一条二次Bezier 曲线的控制顶点为P 0、P 1、P 2,另一条二次Bezier 曲线的控制顶点为Q 0、Q 1 、Q 2, P 2 = Q 0, 写出两条曲线可以精确合并(表示)为一条二次Bezier 曲线的条件。

解:如下图所示,由于可以精确合并,说明两曲线是由一条曲线在参数 0<λ<1处分割而来,假设原曲线的控制顶点为P 0, X , Q 2. 由de Castejau 算法, 首先要求P 0,P 2(Q 0),Q 1 三点共线,其次Q 2−Q

1Q 1

−X =

Q 1−Q 0P 2−P 1

=X−P 1

P 1

−P 0

,于是:Q 1−Q 2−Q 1Q 1

−Q 0

(P 2−P 1)=P 1+P 1−P

0P 2

−P 1

(Q 1−Q 0)。

P 0

Q 2

X

2、设一条三次Bezier 曲线的控制顶点为P 0、P 1、P 2、P 3, 对曲线上一点P(12)及一个给定的目标点T ,给出一种调整Bezier 曲线形状的方法,使得P(12

)精确通过点T 。 解:假设我们改变其中的一个控制顶点,比如将P 1调整到P 1+λ,使得P(12

)精确通过点T ,改变后的曲线记为P

̂(t ),则有: P ̂(t )|t=

12

=∑P i B i,3(t )3

i=0

|t=1

2

+λ∙B 1,3(1

2)

即:T =P (1

2)+λ∙B 1,3(1

2),所以,只需将P 1调整到P 1+(T −P (1

2))/B 1,3(1

2),即可。

3、写出只用点Z -Buffer (一个变量)的消隐算法,比较其和传统Z -Buffer (一个二维数组)的消隐算法的区别。

答:只用点Z-Buffer (一个变量)的消隐算法如下: Z-Buffer() {

帧缓存全置为背景色 //扫描整个屏幕

相关文档
最新文档