《计算机图形学》练习测试题及参考答案 下载本文

为提高绘制效率,Reeves提出了一个针对粒子系统的绘制算法,该算法主要基于以下两个假设:

1) 用粒子系统表示的自然景物不与任何几何模型相交,因而粒子系统的绘制和其它景物的绘制可分别进行。考虑到自然景物和其它景物之间可能有遮挡关系,我们可预先将场景划分为子场景,根据子场景的前后关系,采用图像合成技术得到最终图像。

2) 每一粒子均假设为一点光源,均对它所覆盖的象素有光亮度贡献,其大小决定于粒子的颜色和透明度。

85.水波动画中常用的方法有哪些?

水波动画中常用的一个简单而有效的方法是用正弦波,动画效果可通过对诸如振幅、相位等参数来设置。水波也可以用平行波,一种三维空间的正弦波状曲面来造型。

86.空间变形分哪几类?

空间变形包括与物体表示有关的变形和与物体表示无关的变形。 87. Barr提出了哪些算子?这些算子有哪些优点?

Barr提出的算子有:twisting(使成螺旋形)、bending(弯曲)、tapering(渐细)。这些算子的优点在于:

1)推广了传统的造型运算,可以生成许多传统造型方法难以生成的形体。 2)变形后物体的法向量可用原物体的法向量和变换矩阵解析求得。 88 。采用FFD块对物体变形有哪些步骤? 采用FFD块对物体变形的步骤如下:

1)确定物体的顶点(或控制顶点)在参数空间的位置。 2)变形FFD块

3)确定空间变形后物体顶点的位置 89..FFD方法的弱点

FFD是一种强大的变形工具,在该方法中,用户通过移动网格控制顶点来对物体进行变形。但由于网格控制顶点的移动只是物体变形的某种向导,物体的变形并不精确跟随FFD控制顶点的移动。

90 .自由曲面的表示通常有哪两种?

自由曲面的表示通常有两种:一种为参数曲面,如Bezier曲面、B样条曲面、NURBS曲面等;另一种为隐式曲面。 91.采用元球造型具有哪些优点?

1)所需的数据量通常要比用多边形造型少2至3个数量级。例如,用500个元球就可以较好地表现一个人的造型。

2)很适合于采用CSG模型来描述。

3)很适合表示可变形的物体,因而对柔性物体的动画非常有用。 4)很适合于人体、动物器官和液体的造型。 5)生成的曲面永远是光滑的。

92、计算机图形系统包含哪些外部设备? 图形输入设备:概念、特点 图形显示设备:概念、结构原理、工作方式、特点 图形绘制设备:概念、特点

四、综合题:(每题12分)

4、 用Bresenham算法生成椭圆 F(x ,y) 2?a 2y2 ?a2一 时,若: ?b2xb2 ? 0?d1?b2(2xi?3),d1?0d1??22?d1?b(2xi?3)?a(?2yi?2),d1?0

在第一象限上半部分误差项递推公式为: 下半部分的递推公式为:

?d2?b2(2xi?2)?a2(?2yi?3),dd2 ??2d?a(?2yi?3),d2?02?2?0

当 b2 (xi? 1)? a2( yi? 0.5)时,说明从椭圆的上半部分转入下半部分。 请写出画出整个椭圆的算法步骤。

答:算法步骤如下:

1).输入椭圆的长半轴a和短半轴b。

2).计算初始值d=b2+a2(-b+0.25)、x=0、y=b。

3).绘制点(x,y)及其在四分象限上的另外三个对称点。 4).判断d的符号。若d≤0,则先将d更新为d+b2(2x+3),再将(x,y)更新为(x+1,y);否则先将d更新为d+b2(2x+3)+a2(-2y+2),再将(x,y)更新为(x+1,y-1)。 5).当b2(x+1)

d?b2(x?0.5)2?a2(y?1)2?a2b27).绘制点(x,y)及其在四分象限上的另外三个对称点。

8).判断d的符号。若d≤0,则先将d更新为b2(2xi+2)+a2(-2yi+3),再将(x,y)更新为(x+1,y-1);否则先将d更新为d+a2(-2yi+3),再将(x,y)更新为(x,y-1)。

9).当y>0时,重复步骤7和8。否则结束。

ii5、 已知Bernstain基函数为Bi,n(t)?Cn,t(1?t)n?i,其顶点序列为Pi(i=0,1,….,n)

请写出Besizer曲线的参数方程。另外,请证明以下一阶导数:

Bi?,n(t)?n(Bi?1,n?1(t)?Bi,n?1(t))

nPiBi,n(t) t?[0,1]解:Besizer曲线的参数方程为: P(t)?i?0

n!

?,n(t)?Bk(i?ti?1(1?t)n?i?(n?i)(1?t)n?i?1?ti)i!(n?i)!

n(n?1)!i?1(n?1)?(i?1)??t?(1?t) (i?1)!((n?1)?(i?1))!

n(n?1)!?ti?(1?t)(n?1)?i ?i!((n?1)?i)!

?n(Bi?1,n?1(t)?Bi,n?1(t))

6、 试证明n次Besizer曲线在起始点处切线落在P0P1连线方向上,终止点切线落在

Pn-1Pn连线方向上。

?

证明:?Bi?,n(t)?n(Bi?1,n?1(t)?Bi,n?1(t))

且因为:P?(t)?n?Pi(Bi?1,n?1(t)?Bi,n?1(t))i?0n?n((P1?P0)B0,n?1(t)?(P2?P1)B1,n?1(t)???(Pn?Pn?1)Bn?1,n?1(t))?n?(Pi?Pi?1)Bi?1,n?1(t)i?1n所以,有:p?(0)?n(P1?P0)p?(1)?n(Pn?Pn?1) 故可知:n次Besizer曲线在起始点处切线落在P0P1连线方向上,终止点切线落在Pn-1Pn连线方向上。

4、试根据给出的多边形及点P,利用标号法(改进的转角法)确定点P与多边形区域的关系,已知每条边AB的标号ΔαAB的计算公式为:

??AB???B????A????B????A??4??????B????A??4????AC???CB?1???B????A??1??B????A??2

??B????A???2??B????A???2A D

解; (1)、以P为原点,划出四个象限,如图 B (2)、计算各边的标号: 3分

α(B)- α(A)=1 Δα=1 α(C)- α(B)=0 Δα=0

C α(D)- α(C)=0 Δα=0

α(E)- α(D) =--2 取点D’ Δα=ΔDD’+ΔD’E=1+0-3+4=2 α(A)- α(E)=1 Δα=1

(3) W=1+0+0+2+1=4 ∴P点在多边形区域内部

5、已知逐点比较法在第Ⅰ象限生成直线的计算式为:

P ?Xi?1?Xi?1?(1)Fi?0时,走X方向一步,即?Yi?Yi?F?F?Y

iA?i?1?Xi?1?Xi?(1)Fi?0时,走Y方向一步,即?Yi?Yi?1?F?F?X

iA?i?1试推导逐点比较法在第Ⅱ象限生成直线的计算式。

解:i为已选定的点(Xtg??YAXAi, Xi)

tg??YiXi

令:

Fi?tg??tg??YiXi?YAXA?YiXA?XiYAXiXA

∵?Xi?.? XA ? >0 则可设: Fi?YiXA?XiYA