第二节圆的扫描转换算法 2+2-R2y=VR2-x2 x=Rcos 0 y=Rsin 0
第二节 圆的扫描转换算法 x 2+y 2=R2 2 x 2 y = R − y Rsinθ x Rcosθ = =
(x,y) (x,y) (y,x) (y.x) 了45 (y,) (y-x) (x,y) (,y)
Bresenhami画圆算法 在0≤X≤y的18圆周上,象素坐 标x值单调增加,y值单调减少。 设第步已确定(xy)是要画 圆上的象素点,看第+1步象素点 (X+1y+1)应如何确定。下一个象 素点只能是(+-)或者(+))中 的一个
Bresenham画圆算法 在0≤x≤y的1/8圆周上,象素坐 标x值单调增加,y值单调减少。 设第i步已确定(xi ,yi)是要画 圆上的象素点,看第i+1步象素点 (xi+1,yi+1)应如何确定。下一个象 素点只能是 或者 中 的一个 ( 1, ) i i ( +1, −1) x + y i i x y
dH=(x1+1)2+y子-R2 dD=R2-(x1+1)2-(y1-1)2
2 1 ) i ( y 2 1 ) i ( x 2 R D d 2 R 2 i y 2 1 ) i ( x H d = − + − − = + + −
D:=d-d 精确圆弧是③,则d4>0和d>0.若p,<0, 即dH〈d应选H点。若p≥0,即dH≥d应选D 点。 若精确圆弧是①或②,显然H是应选择点, 而此时d4≤0,db0,必有p0。 若精确圆弧是④或⑤,显然D是应选择点, 而此时d4>0,d。≤0,必有p>0。 得出结论:p做判别量,p,<O选H点为下 一个象素点,当p,≥0时,选D点为下一个象 素点
pi = dH −dD 精确圆弧是③,则dH >0和dD >0.若pi <0, 即dH <dD应选H点。若pi≥0,即dH ≥dD应选D 点。 若精确圆弧是①或②,显然H是应选择点, 而此时dH ≤0,dD >0,必有pi <0。 若精确圆弧是④或⑤,显然D是应选择点, 而此时dH >0,dD≤0,必有pi >0。 得出结论: pi做判别量, pi <0选H点为下 一个象素点,当pi≥0时,选D点为下一个象 素点