网站大量收购独家精品文档,联系QQ:2885784924

第三章基本图形的扫描转换.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本算法需要分Ⅰ和Ⅱ两个部分,按顺时针方向绘制1/4椭圆。在上半部分Ⅰ,x方向上每次加1,y方向上减1不减1取决于中点误差项的值;在下半部分Ⅱ,y方向上每次减1,x方向上加不加1取决于中点误差项的值。 椭圆的中点Bresenham的原理 先考虑图3-13所示部分Ⅰ的AC段椭圆弧。此时中点 Bresenham算法要从点A(0,b)向点C( , ),沿顺时针方向确定最佳逼近于该段椭圆弧的像素点集。由于x方向为主位移方向,假定当前点是Pi(xi,yi),下一步只能在正右方的像素Pu(x i+1,y i)和右下方的像素Pd(x i+1,yi-1)两点中选取。 , P Pu Pd P Pl P A(0,b) B(a,0) Ⅰ Ⅱ C Pr P 图3-13 椭圆中点Bresenham算法原理 再考虑图3-13所示部分Ⅱ的CB段椭圆弧。此时中点Bresenham绘制椭圆算法要从点C( , ) , 向点B(a,0) ,沿顺时针方向确定最佳逼近于该段椭圆弧的像素点集。 由于y方向为主位移方向,假定当前点是Pi(xi,yi),下一步只能在正下方的像素Pl(xi,y i-1)和右下方的像素Pr(x i+1,yi-1)两点中选取。下标l代表left,r代表right。 3.3.2 构造上半部分Ⅰ的中点误差项 在上半部分Ⅰ,x方向每次加1,y方向上减不减1取决于中点误差项的值。从Pi(xi,yi)点出发选取下一像素时,需将Pu(x i+1,y i)和Pd(x i+1,yi-1)的中点M(x i+1,y i-0.5)代入隐函数,构造中点误差项 (3-18) 上半部分椭圆中点Bresenham算法原理 当d1i 0时,中点M在椭圆内,下一像素点应选取Pu,即y方向上不退步;当d1i 0时,中点M在椭圆外,下一像素点应选取Pd,即y方向上退一步;当d1i=0时,中点M在椭圆上,Pu、Pd和椭圆的距离相等,选取Pu或Pd均可,约定取Pd。 因此, (3-19) 3.3.3 上半部分Ⅰ的递推公式 1.中点误差项的递推公式 如果考虑主位移方向再走一步,应该选择哪个中点代入中点误差项以决定下一步应该选取的像素,分两种情况讨论。 Pi(xi,yi) M(x i+2,y i-0.5) Pi(xi,yi) M(x i+2,y i-1.5) (a)di0 (b)di≥0 图3-15 上半部分中点误差项的递推 (3-20) (1)当d1i0 ,下一步的中点坐标为M(x i+2,y i-0.5)。下一步的中点误差项为: (2)当d1i≥0时,下一步中点坐标为M(x i+2,y i-1.5)。下一步中点误差项为 : (3-21) 2.中点误差项的初始值 上半部分椭圆的起点为A(0,b),因此,第一个中点是(1,b-0.5),对应的d1i的初值为 (3-22) 3.3.4 构造下半部分Ⅱ的中点误差项 在下半部分Ⅱ,主位移方向发生变化,中点Bresenham算法原理为:y方向上每次减1,x方向上加1不加1取决于中点误差项的值。从上半部分Ⅰ的终止点Pi(xi,yi)出发选取下一像素时,需将Pl(xi,yi-1)和Pr(xi+1,yi-1)的中点M(xi+0.5,yi-1)代入隐函数,构造中点误差项 (3-23) 因此, (3-21) 当d2i0时,中点M在椭圆内,下一像素点应选取Pr,即x方向上走一步;当d2i0时,中点M在椭圆外,下一像素点应选取Pl,即x方向上不走步;当d2i=0时,中点M在椭圆上,Pl、Pr和椭圆的距离相等,选取Pl或Pr均可,约定取Pl。 3.3.5 下半部分Ⅱ的递推公式 现在如果考虑主位移方向再走一步,应该选择哪个中点代入中点误差项以决定应该选取的像素。分两种情况讨论。 (a)d2i0 (b)d2i≥0 图3-17 下半部分中点误差项的递推 Pi(xi,yi) M(x i+1.5,y i-2) Pi(xi,yi) M(x i+0.5,y i-2) 中点误差项的递推公式 ⑴当d2i0 ,下一步的中点坐标为M(x i+1.5,y i-2)。下一步的中点误差项为: (3-26) ⑵当d2i≥0时,下一步中点坐标为M(x i+0.5,y i-2)。下一步的中点误差项为: (3-25) 2.中点误差项的初始值 在上半部分Ⅰ,法矢量的x向分量小于y向分量;在C点,法矢量的x向分量等于y向分量;在下半部分Ⅱ,法矢量的x向分量大于y向

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档