实现Bresenham法绘制圆图元;
用Bresenham绘制圆的基本思路如下:
从(0,r)这个坐标开始,一直到x=y,然后其他的利用对称画图,即利用八分法画圆;x每次增加1,即X(i+1)=X+1,而Y(i+1)=Y(i)或者Y(i)-1; 设D(up)=Y(i)2-Y2,D(down)=Y2-(Y(i)-1)2;
令p(i)=D(up)-D(down);
又知,X2+Y2=R2;带入,可得:
P(i)=2(Xi+1)2+Yi2+(Yi-1)2-2R2;
相应递归式为:
P(i+1)=p(i)+4X(i)+6+2(Yi2+1-Yi2)-2(Yi+1-Yi)
pi的初值代入xi=0, yi=r
p1=3-2r
如果pi<0则yi+1=yi,否则yi+1=yi-1
则:
pi<0 则pi+1=pi+4xi+6;
否则 pi+1=pi+4(xi-yi)+10;
- 1
- 2
前往页