计算机图形学第5章习题教学文案_第1页
计算机图形学第5章习题教学文案_第2页
计算机图形学第5章习题教学文案_第3页
计算机图形学第5章习题教学文案_第4页
计算机图形学第5章习题教学文案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机图形学第5章习题i(xiyi)di(xi+1,yi+1)di+2(dx-dy)

di-2dy0(0,0)-4(1,1)-4+4=0(1,1)0(2,1) 0-12=-12(2,1)-12(3,2) -12+4=-8(3,2)-8(4,3)-8+4=-4(4,3)-4(5,4)-4+4=0(5,4)0(6,4) 0-12=-12(6,4)-12(7,5)-12+4=-8(7,5)-8(8,6)习题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=-8i(xiyi)eiei+2dy(xi+1,yi+1)ei-2dx0(0,0)-8-8+12=4(1,1)4-16=-12(1,1)-12-12+12=0(2,1)(2,1)00+12=12(3,2)12-16=-4(3,2)-4-4+12=8(4,3)8-16=-8(4,3)-8-8+12=4(5,4)4-16=-12(5,4)-12-12+12=0(6,4)(6,4)00+12=12(7,5)12-16=-4(7,5)-4-4+12=8(8,6)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/P149yi-1yixi+1xi第四象限yi-2xi+2②取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/P149yi+1yixi-1xi第二象限yi+2xi-2|k|≤1习题5.4/P149

5.4将中点Bresenham算法画直线段,推广到任意斜率的直线段。13421(0≤k≤1)D0=dx-2dydx=1,dy>0

Di<0,Di+1=Di+2(dx-dy)(xi+1,yi+1) Di0,Di+1=Di-2dy(xi+1,yi)2(0≤k≤1)D0=-dx+2dy

dx=-1,dy<0

Di<0,Di+1=Di+2(dy-dx)(xi-1,yi-1) Di0,Di+1=Di+2dy(xi-1,yi)3(-1≤k≤0)D0=-dx-2dydx=1,dy<0

Di<0,Di+1=Di-2dy(xi+1,yi) Di0,Di+1=Di-2(dx+dy)(xi+1,yi-1)4(-1≤k≤0)D0=dx+2dydx=-1,dy>0

Di<0,Di+1=Di+2dy(xi-1,yi) Di0,Di+1=Di+2(dx+dy)(xi-1,yi+1)习题5.4/P14958765(k≥1)D0=2dx-dydx>0,dy=1

Di<0,Di+1=Di+2(dx-dy)(xi+1,yi+1) Di0,Di+1=Di+2dx(xi,yi+1)6(k≥1)D0=-2dx+2dy

dx<0,dy=-1

Di<0,Di+1=Di-2dx(xi,yi-1) Di0,Di+1=Di+2(dy-dx)(xi-1,yi-1)7(k≤-1)D0=2dx+dydx<0,dy=1

Di<0,Di+1=Di+2(dx+dy)(xi-1,yi+1) Di0,Di+1=Di+2dx(xi,yi+1)8(k≤-1)D0=-2dx-dydx>0,dy=-1

Di<0,Di+1=Di-2(dx+dy)(xi,yi-1) Di0,Di+1=Di-2dx(xi+1,yi-1)|k|≥1习题5.4/P149推而广之:如果k>1,则将x,y位置对调;如果x<0,则dx取负数如果y<0,则dy取负数已知1(0≤k≤1)时的中点Bresenham算法函数:voidMidBresenhamLine(intx0,inty0,intx1,inty1,intcolor);1(0≤k≤1)(x0,y0),(x1,y1)MidBresenhamLine(x0,y0,x1,y1,15)2(0≤k≤1)(x0,y0),(x1,y1)MidBresenhamLine(-x0,-y0,-x1,-y1,15)3(-1≤k≤0)(x0,y0),(x1,y1)MidBresenhamLine(x0,-y0,x1,-y1,15)4(-1≤k≤0)(x0,y0),(x1,y1)MidBresenhamLine(-x0,y0,-x1,y1,15)5(k≥1)(x0,y0),(x1,y1)MidBresenhamLine(y0,x0,y1,x1,15)6(k≥1)(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/P1495.6试用中点Bresenham算法扫描转换圆心在原点、半径为8的园。已知d0=1-R=-7i(xiyi)di2x+3

2(x-y)+50(0,8)-73(1,8)-45 (2,8)1 -7(3,7)-69(4,7)3 -1(5,6)2 3(6,5)5 7习题5.11/P1495.11采用扫描转换算法对图所示多边形进行填充,试写出ET表和当扫描线y=4时的有效边表AET表。设节点的数据结构:

多边形 ET表6543211,3,1/26,6,-11,1,∞7,5,03,3,-13,6,1/46,5,1xminymax1/knextAET表∴按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)6543211,3,1/26,6,-11,1,∞7,5,03,3,-13,6,1/46,5,16543211,3,1/23.75,6,1/47,5,01.5,3,1/23,3,-16,6,-13,6,1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论