一种快速准确的画圆算法.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四川工业学院学报 JournalofSichuanUniversityofScienceandTechnology 文章编号:100025722(2004)0320043202 一种快速准确的画圆算法 王润云,王志喜 (湖南科技大学计算机学院,湖南湘潭 411201) 摘 要: 作者首先指出了传统Bresenham画圆算法的缺陷,然后提出了一种快速准确的画圆算法,称为 新Bresenham画圆算法,并用实例进行验证,最后对新Bresenham画圆算法的优越性进行了分析。 关键词: 新Bresenham画圆算法;效率分析;准确性;复杂性  中图分类号:TP2178文献标识码:A 0 引言 3] 生成圆弧的Bresenham[2、算法是众多画圆算法中非常有效的方法之一。但是,由于没有充分考虑圆弧的特点,使得传统的Bresenham画圆算法效率不够高,算法复杂,多余点,容易造成圆弧失真画圆算法的缺陷,,新Bresenham,Bresenham1 圆弧的对称性 对于给定的半径r和圆心(xc,yc)可以先计算圆心在原点的圆的象素位置。然后把每个计算出的位置(x,y)移动到实际的屏幕位置。根据圆弧的8分圆特性(圆弧关于坐标轴和两条平分线对称),只要构造出第1象限上半部分圆弧的显示方法,其它七个八分圆中的位置就可由对称性得到(如图1所示) 。 弧的对称性。 214,、第二次判别。15Bresenham画圆算法没有充分考虑圆弧的特性。实际上,根据圆弧的8分圆特性,只需要构造第1象限上半部分圆弧的显示方法即可。而传统Bresenham画圆算法考虑的是整个第1象限圆弧的显示方法。 3 新Bresenham画圆算法 在构造算法之前,先证明一个引理。311 一个引理引理 22 如果正数x,y,y1,r满足y21=r-x,y>=1,d1=y1-(y-1),d2=y-y1,p=4r2-4x2-4y2+4y-1,那么下列结 论成立。 (1)d1<d2的充要条件为p<0; (2)d1=d2的充要条件为p=0;(3)d1>d2的充要条件为p>0。 证明 (1)d1-d2=2y1-2y+1<0等价于2y1<2y-1。因为 2y1>0,2y-1>0,所以2y1<2y-1等价于4y21<4y2-4y+1。因为y1=r-x,所以4y1<4y-4y+1等价于4r-4x 2 2 2 2 2 2 2 2 传统Bresenham画圆算法的缺陷 211 效率不够高 <4y2-4y+1,等价于4r2-4x2-4y2+4y-1<0,即p<0。 (2)、(3)的证明方法与(1)相同。 在每一个点的计算过程中,最多需要进行3次判断,7次整 数加法运算,3次整数乘法运算,效率不够高。212 画点不够准确 当圆的半径大于9时,该算法选择会选择一些不是距离圆弧最近的点,不够准确。213 存在多余点 当圆的半径大于9时,可能存在多余点,容易形成锯齿,造成圆弧失真。而且这些多余点均没有相应的对称点,破坏了圆 312 算法构造 从(0,r)开始,构造第1象限上半部分圆弧的显示方法。在 画出p(xk,yk)以后,下一点在B(xk+1,yk)和A(xk+1,yk-1)选择(如图2所示)。 令d1=y-(yk-1),d2=yk-y,pk=4r2-4(xk+1)2-4y2k+4yk-1 (1)若pk>0,由引理可知,点A距离圆弧比较远,点B距离 圆弧比较近,取点B,xk+1=xk+1,yk+1=yk 收到日期:2003209208 基金项目:湖南省自然科学基金,编号:02JJY4045资助项目。 作者简介:王润云(19602),女,河北省唐山市人,湖南科技大学计算机学院副教授,学士,主要从事面向对象技术、计算机辅助设计等研究。 ? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 44四川工业学院学报                    2004年 示。 表1 新Bresenham画圆算法实例分析 k xk yk pk 计算点到圆弧的距离 0.00000.04990.19800.4403 -0.1511 01234101010109987 17111 -13 5 -17-11-13   推导pk+1与pk的关系 pk+1=4r-4(xk+1)pk+1-pk=-8xk-12pk+1=pk-8xk-12 50.29560.0000 -0. 1005 -4yk+1+4yk+1+1 67 令 pxk=-8xk-12,则pk+1=pk+pxk,pxk+1=-8xk+1-12 =-8xk-8-12=pxk-8 (2)若pk=0,由引

文档评论(0)

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

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

1亿VIP精品文档

相关文档