《2022年2022年计算机图形学期末复习练习题 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机图形学期末复习练习题 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1、 XOY 平面上特征多边形顶点P1(0,0),P2(1,1),P3(2,-1) ,P4(3,0)确定一条三次Bezier 曲线 P(t),。用递推 (de Casteljau)算法求解P(1/2)。 1 , 0t)0, 5.1(2)2/1(22243232221 2 132 221 1321pppppppppppPppPppP4Bezier 曲线的递推 (de Casteljau)算法计算 Bezier 曲线上的点,可用Bezier 曲线方程,但使用de Casteljau提出的递推算法则要简单的多。如图所示,设、是一条抛物线上顺序三个不同的点。过和点的两切线交于点,在点的切线交和于和,则
2、如下比例成立:,这是所谓抛物线的三切线定理,其几何意义如下图所示。图抛物线的三切线定理当 P0,P2固定,引入参数t,令上述比值为t:(1-t) ,即有: t 从 0 变到 1,第一、二式就分别表示控制二边形的第一、二条边,它们正好是两条一次Bezier 曲线。将一、二式代入第三式得:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 当 t 从 0 变到 1 时,它正好表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲
3、线。并且表明:这二次Bezier 曲线 P20可以定义为分别由前两个顶点(P0,P1)和后两个顶点( P1,P2)决定的一次Bezier 曲线的线性组合。依次类推,由四个控制点定义的三次Bezier 曲线 P30可被定义为分别由(P0,P1,P2)和(P1,P2, P3)确定的二条二次Bezier 曲线的线性组合;进一步由 (n+1) 个控制点 Pi(i=0, 1, ., n) 定义的 n 次 Bezier 曲线 Pn0可被定义为分别由前、后 n 个控制点定义的两条(n-1) 次 Bezier 曲线 P0n-1与 P1n-1的线性组合:由此得到 Bezier 曲线的递推计算公式:这便是著名的d
4、e Casteljau算法。用这一递推公式,在给定参数下,求Bezier 曲线上一点 P(t)非常有效。上式中:是定义 Bezier 曲线的控制点,即为曲线上具有参数t 的点。 de Casteljau算法稳定可靠,直观简便,可以编出十分简捷的程序,是计算Bezier 曲线的基本算法和标准算法。P0nP1n-1P0n-1P0n-2P1n-2P2n-2P3n-3P2n-3P1n-3P0n-3functiondeCasteljau(i,j) beginif i = 0 thenreturnP0,jelsereturn (1- u)* deCasteljau(i-1,j) + u* deCastel
5、jau(i-1,j+1) end这一算法可用简单的几何作图来实现。给定参数,就把定义域分成长度为的两段。依次对原始控制多边形每一边执行同样的定比分割,所得分点就是第一级递推生成的中间顶点,对这些中间顶点构成的控制多边形再执行同样的定比分割,得第二级中间顶点。重复进行下去,直到n 级递推得到一个中间顶点即为所求曲线上的点。下图所示为几何作图求三次Bezier 曲线名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - (给定参数域)上 t
6、1/3 的点。把定义域分成长度为1/3 : (1-1/3) 的两段。依次对原始控制多边形每一边执行同样的定比分割,所得分点就是第一级递推生成的中间顶点、10P、,对这些中间顶点构成的控制多边形再执行同样的定比分割,得第二级中间顶点11P12P、。重复进行下去,直到第3 级递推得到一个中间顶点即为所求曲线上的点20P21P30PP(t)。P0P1P2P3P01P11P21P02P03P12图几何作图法求Bezier 曲线上一点(n=3,t=1/3 )上述过程的de casteljau 算法递推出的Pki呈三角形,对应结果如图所示。递归算法是上述过程的逆过程,首先从上向下递归,直到最底层后开始返回
7、,最顶部点P30即为曲线上的点。P03P12P02P01P11P21P3P2P1P0图n=3 时,Pin的递推关系另外,这一算法隐含说明任一Bezier 曲线均可被分割为两段Bezier 曲线。第一段由P0、P01、P02、P03确定,参数空间为0,1/3; 第二段P03、P12、P21、P3确定,参数空间为 1/3,1, 分割后的曲线形状保持不变。如图所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - P0P1P2P3P01
8、P11P21P02P03P12P0P3P01P21P02P03P12图Bezier 曲线的分割( n=3 ,t=1/3 )2、采用 Gouraud 明暗处理模型计算如图所示点P 的颜色值。P 点的颜色值为 (0.5, 0, 0.5)*0.4+(0, 0.5, 0.5)*0.6 = (0.2, 0.3, 0.5)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 3、如图所示,采用Cohen-Sutherland 算法对线段进行裁剪时
9、,1) 线段端点 P 点和 Q 点的编码各是多少2) 此时是否需要与窗口的边界进行求交运算,为什么(利用点的编码解释)?3) 如需要,可以与窗口的哪些边界求交,为什么?1) c1 = 0100、c2 = 10102) 需要,因为c1|c2 != 0000 且 c1&c2 = 00003) 与 R,B 和 T 边界进行求交,因为c1&0100 != 0000, c2&1000!= 0000, c2&0010!= 00004、如图所示多边形,采用扫描线算法进行填充,写出扫描线Y=5 的新边表和活动边表( AET 表) ,并解释边表结点数据结构的每个域。新边表01122334455667788910
10、11P2(5,1)EP3(11,3)DP4(11,8)GFCBP5(5,5)P6(2,7)AP1(2,2)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 活动边表其中第 1 项保存当前扫描线与边的交点坐标x 值;第 2 项保存从当前扫描线到下一条扫描线间 x 的增量x;第 3 项保存该边所交的最高扫描线号ymax;第 4项保存指向下一条边的指针。5、 如图所示三角形ABC ,将其关于B 点逆时针旋转900,采用矩阵的形式计算缩小
11、后三角形各点的规范化齐次坐标,并用OpenGL 函数编程实现。 (20 分)变换矩阵:100001410100210201100090cos90sin090sin90cos100210201各点的规范化齐次坐标为132163100001410100001410AA122122100001410100001410BB170147100001410100001410CC6、采用 Bresenham算法转换直线段,起点x0(2,1)、终点 x1(12,5)。1、给出判别式d 的表达式(初始条件及递推关系式):2、递推过程中y 的坐标值及d 的值xyd213456名师资料总结 - - -精品资料欢迎下
12、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - 78d 的表达式:xyd20当时,11iiyyxyddii221当时,iiyy1yddii21判断条件:当 di0 时,选择象素 (xi 1,yi 1) 4,10yxxyd212*4-10 -231-2+2*4=6426+2*4-2*10=-652-6+2*4 =2632+2*4-2*10=-1073-10+2*4=-483名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -