计算机图形学第5章习题优质PPT.ppt
《计算机图形学第5章习题优质PPT.ppt》由会员分享,可在线阅读,更多相关《计算机图形学第5章习题优质PPT.ppt(13页珍藏版)》请在冰豆网上搜索。
计算机图形学基础,华东理工大学计算机系谢晓玲,习题5.2/P149,5.2用DDA算法、中点Bresenham算法和改进Bresenham算法扫描转换直线段P1P2,其中P1为(0,0)、P2为(8,6)。
@#@DDA算法:
@#@已知P1(0,0)、P2(8,6),则:
@#@dx=8,dy=6dxdy并且k1取x=1,y=k=6/8=0.75xi+1=xi+1,yi+1=yi+0.75,习题5.2/P149,中点Bresenham算法:
@#@dx=8,dy=6,2(dx-dy)=4,-2dy=-12,d0=dx-2dy=-4,习题5.2/P149,改进Bresenham算法:
@#@dx=8,dy=6,2dx=16,2dy=12,e0=-dx=-8,5.3试用中点Bresenham算法画直线段的原理,推导斜率在-1,0之间的直线段绘制过程。
@#@k-1,0,即|k|1取|dx|=1取dx=1,dy=-k设di=F(xi+1,yi-0.5)=yi-0.5-k(xi+1)-b当di0,下一点(xi+1,yi)di+1=F(xi+2,yi-0.5)=di-k当di0,下一点(xi+1,yi-1)di+1=F(xi+2,yi-1.5)=di-1-kd0=F(x0+1,y0-0.5)=-(k+0.5)令Di=2dxdi,得D0=-(dx+2dy),D与d同号当Di0,下一点(xi,yi-1),Di+1=Di-2dy当Di0,下一点(xi+1,yi-1),Di+1=Di-2(dx+dy),习题5.3/P149,取dx=-1,dy=k设di=F(xi-1,yi+0.5)=yi+0.5-k(xi-1)-b当di0,下一点(xi-1,yi)di+1=F(xi-2,yi+0.5)=di+k当di0,下一点(xi-1,yi+1)di+1=F(xi-2,yi+1.5)=di+1+kd0=F(x0-1,y0+0.5)=0.5+k令Di=2dxdi,得D0=dx+2dy,D与d异号当Di0,下一点(xi-1,yi),Di+1=Di+2dy当Di0,下一点(xi-1,yi+1),Di+1=Di+2(dx+dy),习题5.3/P149,|k|1,习题5.4/P1495.4将中点Bresenham算法画直线段,推广到任意斜率的直线段。
@#@,习题5.4/P149,|k|1,习题5.4/P149,推而广之:
@#@如果k1,则将x,y位置对调;@#@如果x0,则dx取负数如果y0,则dy取负数已知1(0k1)时的中点Bresenham算法函数:
@#@voidMidBresenhamLine(intx0,inty0,intx1,inty1,intcolor);@#@,1(0k1)(x0,y0),(x1,y1)MidBresenhamLine(x0,y0,x1,y1,15)2(0k1)(x0,y0),(x1,y1)MidBresenhamLine(-x0,-y0,-x1,-y1,15)3(-1k0)(x0,y0),(x1,y1)MidBresenhamLine(x0,-y0,x1,-y1,15)4(-1k0)(x0,y0),(x1,y1)MidBresenhamLine(-x0,y0,-x1,y1,15)5(k1)(x0,y0),(x1,y1)MidBresenhamLine(y0,x0,y1,x1,15)6(k1)(x0,y0),(x1,y1)MidBresenhamLine(-y0,-x0,-y1,-x1,15)7(k-1)(x0,y0),(x1,y1)MidBresenhamLine(y0,-x0,y1,-x1,15)8(k-1)(x0,y0),(x1,y1)MidBresenhamLine(-y0,x0,-y1,x1,15),习题5.6/P149,5.6试用中点Bresenham算法扫描转换圆心在原点、半径为8的园。
@#@已知d0=1-R=-7,习题5.11/P149,5.11采用扫描转换算法对图所示多边形进行填充,试写出ET表和当扫描线y=4时的有效边表AET表。
@#@设节点的数据结构:
@#@多边形ET表,AET表按p119的规则1,得交点:
@#@(1,1)(7,1)、(2,2)(3,2)、(3,2)(7,2)、(4,3)(7,3)、(4,4)(6,4)、(6,4)(7,4)、(4,5)(5,5),补充题,扫描线种子填充算法,栈:
@#@s2,3,14,3,15,3,16,3,18,9,7,3,110,9,7,3,19,7,3,112,11,7,3,111,7,3,17,3,113,3,13,11,