《(完整版)计算机图形学基础第五章课后习题答案》由会员分享,可在线阅读,更多相关《(完整版)计算机图形学基础第五章课后习题答案(3页珍藏版)》请在人人文库网上搜索。
1、本word文档可编辑可修改5.3试用中点 Bresenham算法画直线段 的原理推导斜率在 -1,0之间的直线段绘制过程(要求写清原理、误差函数、递推公式以及最终画图过程)。解:原理:每次在最大位移方向上走一步,而另一个方向是走步还是不走步取决于误差项 的判别。斜率 k在-1,0之间x为最大位移方向,每次在 x加 1,而 y或减 1或减 0。设直线段 的方程 F(x,y)=y-kx-b,假设当前点是 P(x ,y ),则下一点在iiP (x +1,y )与 P (x +1,y -1)中选一。设 M为 P和 P 的中点,则 M点 的uiidiiud坐标为 (x +1,y -0.5)。ii构造误差。
2、判别式:(x ,y0)0P (x +1,y i)uid =F(x ,y )=F(x +1,y -0.5)=iMMiiP(x,yi)iM(x +1,y -0.5)iiy -0.5-k(x +1)-biiP (x +1,y -1)若 d 0,取 P (x +1,y -1);diiidii若 d0,取 P (x +1,y );(x ,y1)iuii1即有 x =x +1,y =y -1(d 0)或 y (d0)。i+1ii+1iiii误差函数 的递推:d 0时,取 P (x +1,y -1),再判断下一像素取哪个时,应计算idiid =F(x +2,y -1.5)= y -1.5-k(x +2)-b。
3、=d-1-k,增量为 -1-k。i+1iiiiid0时,取 P (x +1,y ),再判断下一像素取哪个时,应计算iuiid =F(x +2,y -0.5)= y -0.5-k(x +2)-b=d-k,增量为 -k。i+1iiiii关注我 实时更新 最新资料判别式 的初值:从(x ,y )点出发,下一个像素 的选取计算0 0d =F(x +1,y -0.5)= y -0.5-k(x +1)-b=-0.5-k00000取 的是误差判别式 的符号,因此可进行如下变换: D=d*2?x?x=x -x,根据选取 的起点和绘制方向, ?x0,因此, D与 d同号。10画图过程:(1)输入两端点 P (x。
4、 ,y )和 P (x ,y );000111(2)计算初始值 ?x,?y,D=-?x-2?y,x=x,y=y;00(3)绘制点 (x,y)。判断 D 的符号,若 D 0,则(x,y)更新为 (x+1,y-1),D更新为 D-2?x-2?y;否则 (x,y)更新为 (x+1,y),D更新为 D-2?y。(4)当 xx时,重复( 3),否则结束。15.7利用中点 Bresenham画圆算法原理推导第一象限 x=y到 y=0圆弧段 的扫描转换算法(要求写清原理、误差函数、递推公式以及最终画图过程)。x-2 -1 xixii解:对于该圆弧段, y为最大位移方向。By+2原理:每次沿 y方向上走一步,。
5、而 x方向上或减 1或减 0。假设当前已确定 P(x ,y ),下一步iy+1iyiAii在 P (x ,y +1)与 P (x -1,y +1)中选取。设 M为 P和 P 的中点,则 M点uiidiiud的坐标为 (x -0.5,y+1)。ii构造误差判别式:d =F(x ,y )=F(x -0.5,y+1)= (x -0.5) +(y +1) -R222iMMiiii若 d 0,取 P (x -1,y +1);idii若 d0,取 P (x ,y +1);iuii即有 y =y +1,x =x -1(d 0)或 x (d0)。i+1ii+1iiii误差函数 的递推:d 0时,取 P (x 。
6、-1,y +1),再判断下一像素时,应计算idiid =F(x -1.5,y+2)= (x -1.5) +(y +2) -R222i+1iiii222=(x -0.5) +(y +1) -R +5-2x +2y =d +5-2(x -y ),增量为 5-2(x -y )。iiiiiiiiid0时,取 P (x ,y +1),再判断下一像素时,应计算iuiid =F(x -0.5,y+2)= (x -0.5) +(y +2) -R222i+1iiii=(x -0.5) +(y +1) -R +3+2y =d +3+2y,增量为 3+2yi。222iiiii判别式 的初值:22从(R,0)点出发,计算 d =F(R-0.5,1)= (R-0.5) +1-R =1.25-R0对于整数,判断 1.25-R 的符号与判断 1-R 的符号等价,因此取 d =1-R。0画图过程:(1)输入圆 的半径 R;(2)计算初始值 d=1-R,x=R,y=0;(3)绘制点 (x,y)。判断 d 的符号,若 d 0,则(x,y)更新为 (x-1,y+1),d更新为 d+5-2(x-y);否则 (x,y)更新为 (x,y+1),d更新为 d+3+2y。(4)当 yx时,重复( 3),否则结束。