为提高绘制效率,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