计算机图形学(圆弧扫描转换).pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学 第3章 基本光栅图形算法 圆弧的扫描转换 正负法 中点法 Bresenham算法 多边形迫近法—圆与椭圆 * 2014-2015-1:CG:SCUEC DDA法 基本原理 设与当前圆周最近的像素点是Pi-1(xi-1,yi-1) 下一个与圆周最近的像素点只能是正右方的点 Hi(xi-1+1,yi-1)或者是右下方的点Li(xi-1+1,yi-1-1) * 生成圆弧之Bresenham算法 记D(Hi) = (xi-1+1)2+yi-12-R2, D(Li) = (xi-1+1)2+(yi-1-1)2-R2 令判别式Di = |D(Hi)| - |D(Li)| ,然后根据Di的正负来 判断下一个像素点是取Hi 点还是Li 点 若Di0,表示Hi点更接近圆周,点亮Hi(xi-1+1,yi-1) 若Di≥0,表示Li点更接近圆周,点亮Li(xi-1+1,yi-1-1) 2014-2015-1:CG:SCUEC * 问题:判别式Di = |D(Hi)| - |D(Li)|的计算要用到绝对值运算,能否将绝对值运算去掉呢? 判别式的改进 如右图所示,可看出D(Hi)0, D(Li)0,因此可以考虑把判别式改为di=D(Hi)+D(Li),在这种情况下di的符号与Di的符号是一致的。 问题:是不是任何情况下di的符号与Di的符号都是是一致的呢? 如果是,如何证明? 2014-2015-1:CG:SCUEC 判别式的改进 设与当前圆周最近的像素点是P,圆下面可能穿越的区域只能有五种情况: ① H点在圆外,L点在圆内 R=7,xp=1, 取H点; R=13,xp=7, 取L点; ② H点与L点都在圆内 R=9,xp=3, 取H点 ③ H点与L点都在圆外 R=7,xp=4, 取L点 ④ H点在圆上,L点在圆内 ⑤ H点在圆外,L点在圆上 R=5,xp=2,取L点 R=13,xp=4,取H点 * 2014-2015-1:CG:SCUEC 判别式的改进 圆穿越①区域时,D(Hi) 0,D(Li) 0,有 Di = | D(Hi) |-| D(Li) | = D(Hi) + D(Li) = di 考察圆穿越不同区域时di的符号与Di的符号是否一致 圆穿越②区域时,D(Hi) 0,D(Li) 0,有 Di = | D(Hi) |-| D(Li) | 0,di= D(Hi) + D(Li) 0 圆穿越③区域时,D(Hi) 0,D(Li) 0,有 Di = | D(Hi) |-| D(Li) | 0,di= D(Hi) + D(Li) 0 圆穿越④区域时,D(Hi) = 0,D(Li) 0,有 Di = | D(Hi) |-| D(Li) | = D(Li) = di 圆穿越⑤区域时,D(Hi) 0,D(Li) = 0,有 Di = | D(Hi) |-| D(Li) | = D(Hi) = di 结论: di的符号与Di的符号是一致的 * 2014-2015-1:CG:SCUEC 若di ≤ 0,表示Hi点更接近圆周,点亮Hi(xi-1+1,yi-1),下一个像素是取Hi+1还是Li+1,应计算如下的判别式: * di = D(Hi)+D(Li) = [(xi-1+1)2+yi-12-R2]+[(xi-1+1)2+(yi-1-1)2-R2] 判别式di的增量计算 di+1 = D(Hi+1)+D(Li+1) = [(xi-1+1+1)2+yi-12-R2]+[(xi-1+1+1)2+(yi-1-1)2-R2] = [D(Hi)+2xi-1+3]+[D(Li)+2xi-1+3] = di+4xi-1+6 2014-2015-1:CG:SCUEC 若di 0,表示Li点更接近圆周,点亮Li(xi-1+1,yi-1-1),下一个像素是取Hi+1还是Li+1,应计算如下的判别式: 判别式di的增量计算 * di = D(Hi)+D(Li) = [(xi-1+1)2+yi-12-R2]+[(xi-1+1)2+(yi-1-1)2-R2] di+1 = D(Hi+1)+D(Li+1) = [(xi-1+1+1)2+(yi-1-1)2-R2]+[(xi-1+1+1)2+(yi-1-1-1)2-R2] = [D(Hi)+2(xi-1-yi-1)+4]+[D(Li)+2(xi-1-yi-1)+6] = di+4(xi-1-yi-1)+10 2014-2015-1:CG:SCUEC 判别式di的初始值=? * 判别式di的增量计算 2014-2015-

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档