《计算机图形学》练习试题(答案)
(12页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
14.9 积分
《计算机图形学》练习题1. 直线扫描转换的Bresenham算法仃)请写出生成其斜率介于0和1之间的直线的Bresenham算法步骤。(2)设一直线段的起点和终点坐标分别为(1,1)和(8, 5),请用Bresenham算法生成此直线 段,确定所有要绘制象素坐标。(1) ①输入线段的两个端点,并将左端点存储在(xO, yO)中② 将(xO,yO)装入帧缓存,画出第一个点③ 计算常量Ax, Ay, 2Ay, and 2Ay-2Ax,并得到决策参数的第一个值:pO = 2Ay - Ax④ 从k二0开始,在沿线路径的每个xk处,进行下列检测:如果pk < 0,下一个要绘制的点就是(xk +1, yk),并且pk+1 = pk + 2Ay 否则下一个要绘制的点就是(xk +1, yk +1),并且pk+1 = pk + 2Ay- 2Ax⑤ 重复步骤4,共Ax-l次(2) m=(5-l)/(8-l)=0. 57A x=7 Ay=4P0=2Ay-Ax=i2Ay=8 2 A y-2 A x=_6kPk(xk+hyk+1)01(2,2)1?5(3,2)23(4,3)3?3(5,3)45(6,4)5-1⑺4)67(&5)2. 已知一多边形如图1所示,其顶点为V】、V2、V3、% V5、V6,边为El、E2> E3、E4> E5、E6o用多边形的扫描填充算法对此多边形进行填充时(扫描线从下到上)要建立边分类表 (sorted edge table)并不断更新活化边表(active edge list) o(1) 在表1中填写边分类表中每条扫描线上包含的边(标明边号即可);(2) 在表2中写出边分类表中每条边结构中各成员变量的初始值(3) 指出位于扫描线尸6, 7, & 9和10时活化边表中包含那些边,并写出这些边中的x值、 y叫值、和斜率的倒数值l/mo图1多边形的边和顶点表1边分类表 表2边的初始值边XYaax1/m41 1 97 4 60 051 97 60 061 96 60 071 1 87 7 90 1 -182 79 91 -193 3 69 9 91 -112345678910Y 值(Scan Line Number)边(Edge Number)1020304El5E6, E26E67E38E5, E39E41003. 二维变换(1) 记P(xf,yf)为固定点,sx、sy分别为沿x轴和y轴方向的缩放系数,请用齐次坐标 (Homogeneous Coordinate)表示写出二维固定点缩放变换的变换矩阵。(2) 把以A(0,0)、B(l, 1)和C(5,2)为顶点的三角形以顶点C为固定点放大2倍。求出放大 后的三角形的顶点坐标。「1 0 x;M 0 o'1 0 -x/0 1儿■0 Sy 0■0 1 -几0 0 10 0 10 0 1卩°勺(1-即0 Sy 尹/(1 一片)=X/ + (X_X/)?Sx 二乃+(尹_夕/) ?号二X?Sx + X/(l_sQ I” 二尹?Sy+7/(1 —S」(1)0 0 1T(XP //)- Sy)-T= S(Xf^y^(2)①平移这个对彖,使得他的固定点与原点重合② 缩放这个在坐标原点的对象③ 平移这个对象,使得他的固泄点冋到原始位置X9y11所以 A(-5,-2)亏(1-片)-Xr*(1-片)■1100B (-3, 0) C(5, 2)4二维变换仃)请用齐次坐标表示写出点Q(x,y)绕定点P(a, b)旋转的旋转变换矩阵。(2) 求出以A(0,0)、B(l, 1)和C(5,2)为顶点的三角形绕固定点P (-1,-1)点旋转45°后的三 角形的顶点坐标。(1)_10COS& -?sin&o-_10 — Xr01yr■sinQcos。0■0i -yr001_ 00100 1COS&-sin&£(1 一 COS&)+ yr sin 6—sin&COS&yr(\ 一 cos&) 一召 sin &001T y)R(®?T (—耳,一儿)=R(sx,=xr+(x- xr)cos。-(y- yr)sin。 y' =yr+(x? xr)sin ()+(y- yr)cos()(2)①平移这个对象,使得他的固定点与原点重合② 旋转这个在坐标原点的对彖③ 平移这个对象,使得他的固定点回到原始位置x'COS0-sin 0兀(l-cosF) + y’sinOy=sin&COS&yr(l 一 cos。)一 Xr sin 0i001XyA(?l,?l + d) B(-l,-l+2 )C(-1+3/2* ,? 1+9/2* 佢)5. 如图所示,L(-3, 1)和R(2,6)为正方形裁剪窗口两个对角线角点,线段AB、CD、EF、GH 和1J为被裁剪线段。用Cohen-Sutherland线裁剪算法进行裁剪时要对线段的端点进行编码。(1) 请写出编码规则,并在图中标出相应区域的编码(2) 分别指出于点A、B、C、D、E、F、G、H对应的编码(3) 根据线段端点的编码对图屮所有线段分类,指出哪些线段是可见的?哪些是不可见的? 哪些是候选的裁剪线段。 0010-90000-J0000OTOT-a0000-00001-HTOOO-V(Z)OHO00101010010000001000010100011001(I)(orz-)f H:00101:1000J:1000(3)可见的:EF不可见的:GH, IJ 候选的:AB, CD6. 分别用Sutherl 关 键 词: 计算机图形学 计算机 图形学 练习 试题 答案
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。