• 268.00 KB
  • 2022-04-22 11:17:53 发布

计算机图形学基础(第2版)课后习题答案 陆枫 何云峰.doc

  • 21页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'第一章绪论概念:计算机图形学、图形、图像、点阵法、参数法、图形的几何要素、非几何要素、数字图像处理;计算机图形学和计算机视觉的概念及三者之间的关系;计算机图形系统的功能、计算机图形系统的总体结构。 第二章图形设备图形输入设备:有哪些。图形显示设备:CRT的结构、原理和工作方式。彩色CRT:结构、原理。随机扫描和光栅扫描的图形显示器的结构和工作原理。图形显示子系统:分辨率、像素与帧缓存、颜色查找表等基本概念,分辨率的计算 第三章交互式技术什么是输入模式的问题,有哪几种输入模式。 第四章图形的表示与数据结构自学,建议至少阅读一遍 第五章基本图形生成算法概念:点阵字符和矢量字符;直线和圆的扫描转换算法;多边形的扫描转换:有效边表算法;区域填充:4/8连通的边界/泛填充算法;adhm1 内外测试:奇偶规则,非零环绕数规则;反走样:反走样和走样的概念,过取样和区域取样。 5.1.2中点Bresenham算法(P109)斜率K误差项d理想点Q取下一个点d更新<1<0在中点上取上点 d+2△x-2△y>=0在中点下取下点d-2△y>1<0在中点右取右点 d-2△x+2△y>=0在中点左取左点d-2△x<-1<0在中点左取左点 d-2△x+2△y>=0在中点右取右点d-2△x>-1<0在中点下取下点 d+2△x-2△y>=0在中点上取上点d-2△y5.1.2改进Bresenham算法(P112)斜率K改进误差项e理想点Q取下一个点e更新<1<0在中点上取上点 e-2△x>=0在中点下取下点e+2△y>1<0在中点右取右点 e-2△y>=0在中点左取左点e+2△x<-1<0在中点左取左点e-2△y>=0在中点右取右点e+2△x>-1<0在中点下取下点 e-2△x>=0在中点上取上点e+2△y习题解答adhm1 习题5(P144)5.3试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。(P111)解:k<=-1 |△y|/|△x|>=1 y为最大位移方向故有 构造判别式: 推导d各种情况的方法(设理想直线与y=yi+1的交点为Q):所以有:yQ-kxQ-b=0 且yM=yQ    d=f(xM-kxM-b-(yQ-kxQ-b)=k(xQ-xM)所以,当k<0,d>0时,M点在Q点右侧(Q在M左),取左点 Pl(xi-1,yi+1)。d<0时,M点在Q点左侧(Q在M右),取右点 Pr(xi,yi+1)。d=0时,M点与Q点重合(Q在M点),约定取右点Pr(xi,yi+1) 。所以有递推公式的推导:  d2=f(xi-1.5,yi+2)当d>0时,  d2=yi+2-k(xi-1.5)-b 增量为1+k    =d1+1+kadhm1 当d<0时,   d2=yi+2-k(xi-0.5)-b 增量为1    =d1+1当d=0时,       5.7利用中点Bresenham画圆算法的原理, 推导第一象限y=0到y=x圆弧段的扫描转换算法(要求写清原理、误差函数、递推公式及最终画图过程)。(P115)y坐标圆心角α误差项d理想点Q取下一个点d更新y=0y=x0°<=α<=45°<0在中点右取右点 d+2y+3>=0在中点左取左点d-2(y-x)+5y=xy=145°<=α<=90°<0在中点上取上点 d+2x+3>=0在中点下取下点d-2(x-y)+5解:在x=y到y=0的圆弧中,(R,0)点比在圆弧上,算法从该点开始。最大位移方向为y,由(R,0)点开始,y渐增,x渐减,每次y方向加1,x方向减1或减0。adhm1 设P点坐标(xi,yi),下一个候选点为右点Pr(xi,yi+1)和左点Pl(xi-1,yi+1),取Pl和Pr的中点M(xi-0.5,yi+1),设理想圆与y=yi+1的交点Q,构造判别式:    d=f(xM,yM)=(x-0.5)2+(yi+1)2+R2当d<0时,M在Q点左方(Q在M右),取右点Pr(xi,yi+1)当d>0时,M在Q点右方(Q在M左),取左点Pl(xi-1,yi+1)当d=0时,M与Q点重合,约定取左点Pl(xi-1,yi+1)所以有:推导判别式:d>=0时,取左点Pl(xi-1,yi+1),下一点为(xi-1,yi+2)和(xi-2,yi+2)                     d<0时,取右点Pr(xi,yi+1),下一点为(xi,yi+2)和(xi-1,yi+2)                          d0=f(R-0.,1)=R2-R+0.25+1-R2=1.25-R5.11如图5-59所示多边形,若采用扫描转换算法(ET边表算法)进行填充,试写出该多边形的边表ET和当扫描线Y=4时的有效边表AET(活性边表)。(P125)adhm1 解: 1)边表ET表 x|yminymax1/knext 2)y=4时的有效边表AETxymax1/knext注意:水平线不用计算。5.22构造两个例子,一个是4-连通图,其边界是8-连通的,另一个是8-连通图,其边界是4-连通的。(P132)解:4-连通区域         8-连通区域adhm1                        第六章二维变换及二维观察概念:齐次坐标,窗口,视区,二维观察流程,字符裁减的三种策略,外部裁减计算:二维几何变换直线裁减:区域编码法和梁友栋算法多边形裁减:逐边裁减法和双边裁减法6.1.3二维变换矩阵(P147)3阶二维变换矩阵子矩阵功能abpcdqlmsabcd比例旋转pq投影变换 lm  平移变换s整体比例6.2.3旋转变换(P149)adhm1 逆时针变换矩阵顺时针变换矩阵 cosθsinθ  0-sinθcosθ 0   0     0     1cosθ-sinθ   0sinθ  cosθ 0  0       0      16.2.5相对任一参考点的二维几何变换(P155)例如:相对(xf,yf)点的旋转变换平移到坐标原点旋转角度θ反平移回原来位置1 0 00 1 0-xf-yf1 cosθsinθ0-sinθcosθ0  0   0  11  0  00  1  0xf yf1 习题6(P177)6.7求四边形ABCD绕P(5,4)旋转45度的变换矩阵和端点坐标,画出变换后的图形。(P147P148P155)解:变换的过程包括: 1)平移:将点P(5,4)平移至原点(0,0), 2)旋转:图形绕原点(0点)旋转45度, 3)反平移:将P点移回原处(5,4), 4)变换矩阵:平移—旋转—反平移adhm1  5)变换过程:四边形ABCD的规范化齐次坐标(x,y,1)*3阶二维变换矩阵   由旋转后四边形ABCD的规范化齐次坐标(x",y",1)可写出顶点坐标: A"(6.4,1.2)B"(7.1,4.7)C"(4.3,8.5)D"(2.2,1.2)6.15用梁友栋算法裁减线段AB,B点的坐标改为(-2,-1)(P170)解:以A(3,3)为起点,B(-2,-1)为终点所以有x1=3,y1=3,x2=-2,y2=-1,wxl=0,wxr=2,wyb=0,wyt=2构造直线参数方程:x=x1+u(x2-x1)0x1xx2 yA(3,3)3 C(7/4,2)2 adhm1  D(0,3/5)1-2 -1012  3xB(-2,-1) -1 x=x1+u(x2-x1)    (0<=u<=1) y=y1+u(y2-y1) 把x1=3,y1=3,x2=-2,y2=-1代入得 x=3-5u y=3-4u计算各个p和q值有: p1=x1-x2=5   q1=x1-wxl=3 p2=x2-x1=-5  q2=wxr-x1=-1 p3=y1-y2=4   q3=y1-wyb=3 p4=y2-y1=-4  q4=wyt-y1=-1根据,uk=qk/pk算出  pk<0时:u2=1/5u4=1/4  pk>0时:u1=3/5u3=3/4 umax=MAX(0,u2,u4)=MAX(0,1/5,1/4)=1/4  (取最大值) umin=MIN(u1,u3,1)=MIN(3/5,3/4,1)=3/5  (取最小值)由于umax0时,将umin=3/5代入直线参数方程   x=x1+u(x2-x1) x=3+3/5*(-5)=0   y=y1+u(y2-y1) y=3+3/5*(-4)=3/5求出直线在窗口内部分的端点D(0,3/5)。所以,直线在窗口内部分的端点为C(7/4,2),D(0,3/5)。  第七章三维变换及三维观察概念:几何变换、投影变换、透视投影、平行投影、灭点平面几何投影的分类以及分类原则计算:三维几何变换、三视图7.2三维几何变换(P180)4阶三维变换矩阵子矩阵功能abcpdefqghirlmns abcdefghi比例旋转pqr透视投影    lmn 平移变换 s 整体比例   整体比例变换(P182)   s>1时,整体缩小,如2表示2:1缩小。   s<1时,整体放大,如1/2表示1:2放大。adhm1 7.3.1正投影 1.主视图V(P191)  4阶三维变换矩阵y轴方向投影1  0   0  00   0 0   00  0   1   00  0   0    1 2.俯视图H4阶三维变换矩阵1  0    0    00  0  -1    00  0   0     00  0 -z0 1 z轴方向投影绕x轴旋转-90度z轴方向平移-11   0 0  00   1   0   00   0   0   00   0   0   11         0          0           00 cos(-90°)sin(-90°)00-sin(-90°)cos(-90°)00          0           0           11   0   0    00  1   0   00  0   1    00   0 -z0 1adhm1  3.侧视图W(P192)4阶三维变换矩阵  0     0   0   0 -1     0   0   0  0     0 1   0-x0 0 0    1 x轴方向投影绕z轴旋转90度x轴方向平移-10  0  0  00   1  0  00  0   1  00  0   0   10   cos90°sin90°00-sin90°cos90°00         0        1   00        0      0    1 1     0   0    0 0     1   0   0 0     0   1   0-x00   0     1习题7(P213)7.5求空间四面体关于点P(2,-2,2)整体放大2倍的变换矩阵,   画出变换后的图形。(P182)解:关于点P(2,-2,2)整体放大两倍,变换矩阵:点P(2,-2,2)平移至原点--比例变换放大两倍--反平移回点P(2,-2,2)。adhm1 变换过程:空间四面体ABCD的规范化齐次坐标(x,y,z,1)*4阶三维比例变换矩阵 空间四面体ABCD的齐次坐标(x",y",z",1/2)转换成规范化齐次坐标顶点 x y  z 1ABCD 2,2,-2,1 2,6,-2,1-2,6,-2,1 2,6,2,1   由比例变换后规范化齐次坐标(x",y",z",1)可写出顶点坐标: A"(2,2,-2)B"(2,6,-2)C"(-2,6,-2)D"(2,6,2)7.7求空间四面体ABCD三视图的变换矩阵(平移矢量均为1),并作出三视图。(P180)解: 1)主视图V(P191)  空间四面体ABCD的规范化齐次坐标矩阵*Y轴方向投影矩阵(不需要平移)adhm1  2)俯视图H(P191) Z轴方向投影矩阵*绕X轴旋转-90度矩阵*Z轴方向平移-1矩阵 空间四面体ABCD的规范化齐次坐标矩阵*投影变换矩阵(可以直接写出) 3)侧视图W(P192) X轴方向投影矩阵*绕Z轴旋转90度矩阵*X轴方向平移-1矩阵 空间四面体ABCD的规范化齐次坐标矩阵*投影变换矩阵(可以直接写出) 4)画图注意:三个图画在同一坐标系中,点与点的连接关系以及直线的可见性问题。 adhm1 试题分析《计算机图形学》考试试题一、填空2.帧缓存(P42):(1024*768*8/8)/1024=768kB 颜色位面数(P43):24 总颜色数:(2^8)^3=2^24=(2^4)*(2^20)=16MB二、名词解释三、简答与计算3.边标志算法(P128)解:打标记:x1,x2,x3,x4    填充:x1与x2,x3与x4扫描线区间的像素点。5.正则集合运算(P88)解:通常意义下的集合求交运算:C=A∩B  有一条弧立边    正则集合运算:C=A∩*B  无弧立边四、计算作图题1.中点Bresenham算法(P109)斜率K误差项d理想点Q取下一个点d更新<1<0在中点上取上点 d+2△x-2△y>=0在中点下取下点d-2△y解:直线斜率:k=(6-1)/(9-1)=5/8 00取下点d-2△y=-632<0取上点d+2△x-2△y=043=0取下点d-2△y=-1053<0取上点d+2△x-2△y=-464<0取上点d+2△x-2△y=275>0取下点d-2△y=-885<0取上点d+2△x-2△y=-296   2.改进的有效边表算法(P125)解:1)边表ET:交点x(最小y坐标ymin)x|yminymax1/knext x坐标1CB边CA边2→65-4/3 →69-2/7/34BA边5→29-1/2/6789  2)y=4的有效边表AET:交点xxymax1/knext adhm1 y=4|与CB边相交┗→3.35-4/3 ┓┏—————————┛|与CA边相交┗→5.49-1/2 / 3)y=4时的填充交点对:(3.3,4)(5.4,4)3.求三角形绕B点(2,5)旋转θ的变换矩阵。 求三角形绕B点顺时针旋转90度后各端点坐标。(P125)解:1)三角形绕B点(2,5)旋转θ的变换矩阵     T=Tt*TR*Tt-1平移到坐标原点旋转角度θ反平移回原来位置 1 0 0 0 1 0-2-5 1 cosθsinθ0-sinθcosθ0  0   0  11 0 00 1 02 5 1  2)三角形绕B点顺时针旋转90度的变换矩阵,θ=-90°    T=Tt*TR*Tt-1平移到坐标原点旋转角度θ反平移回原来位置 1 0 0 0 1 0-2-5 1cos90° -sin90° 0sin90°  cos90° 0  0     0    11 0 00 1 02 5 1        变换过程:三角形ABC的规范化齐次坐标(x,y,1)*3阶二维变换矩阵    P=P*Tadhm1      得到三角形ABC变换后的规范化齐次坐标(x",y",1)顶点 x y 1ABC 4.6 2 1 2  5 1 0 -1 1       可以写出顶点坐标:A"(4.6,2)B"(2,5)C"(0,-1) 4.用编码裁剪算法裁剪线段P1(0,2)P2(3,3)。要求写出:(164) 1)窗口边界划分的9个区间的编码原则; 2)线段端点的编码; 3)裁剪的主要步骤; 4)裁剪的输出结果。解:线段P1(0,2)P2(3,3)的编码裁剪y10011000101040001P2(3,3)0000S  00103P1(0,2)210101010001100 1 2    3 4    x 1)窗口边界划分的9个区间的编码原则;编码D3D2D1D0窗口外上边top下边bottom右边right左边left条件y>wytywxrx1的直线段的扫描转换算法。(P112)斜率K改进误差项e理想点Q取下一个点e更新>1<0在中点右取右点 e-2△y>=0在中点左取左点e+2△x解:k>1 y为最大位移方向 故有yi+1=yi+1xi+1xi+1(d>0.5 取右点Pr)adhm1 =xi  (d<=0.5取左点Pl) 误差项d的初值为0 d=d+1/k 当x方向走一步d-1 令e=d-0.5yi+1=yi+1xi+1=xi+1(e>0 取右点Pr)xi  (e<=0取左点Pl) 改进误差项e的初值为e=d-0.5=0-0.5=-0.5; 避免计算小数和除法,改进误差项e用2e△y。 算法步骤: 1)输入:Po(xo,yo) P1(x1,y1); 2)计算初值:△x,△y,e=2e△y=2*(-0.5)△y=-△y,x=xo,y=yo。 3)画点:P(x,y) 4)改进误差项e更新:斜率K改进误差项e理想点Q取下一个点e更新>1<0在中点右取右点 e-2△y>=0在中点左取左点e+2△xadhm1'