圆弧的生成算法研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
圆弧的生成算法研究.doc

圆弧的生成算法研究 本文由天空乐园大学生旅游网整理分享 摘要 本文研究了计算机图形学中圆弧生成的几种算法,有直角坐标算法、DDA算法、中心点法和Bresenham算法,并比较了它们的优缺点。其中前三种算法存在计算速度慢、精度差等的较大的缺点。本文着重介绍了使用广泛Bresenham算法。Bresenham 画圆算法是常用的一种画圆算法,它很大程度上客服了计算速度慢、精度差的缺点,是很好的圆弧生成算法。 关键字:圆弧生成;直角坐标算法; DDA算法;中心点法;Bresenham算法; 引言 计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。计算机图形学的研究内容非常广泛,如图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法、非真实感绘制,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。目前,绝大多数计算机图形系统使用的是阴极射线管显示器(CRT),显示器被分成若干大小相等的像素。通过控制使像素或暗或亮,从而使屏幕得到所需要的图形。这样,在显示器上显示的图形就存在误差,比如在显示器上显示一条直线,不可能从一个像素到另一个像素之间直接画一条直线,而是通过一系列的靠近直线的像素表示。怎样快速和精确地生成所需的图形就成为计算机图形学关心的问题。 二、基本理论 目前,圆弧的生成算法有很多种,本文主要研究圆弧生成的直角坐标算法、DDA算法、中心点法和Bresenham算法,然后比较这几个算法的优缺点,从而说明Bresenham算法的快速,精确。 2.1 直角坐标系算法 直角坐标法是圆弧生成算法中一种比较简单的算法。由圆的方程 其中以为圆心坐标,取x为自变量,可知y为: (1) 由式(1)可得出圆弧的直角坐标法: (2) 在式(2)这个直角坐标算法中,x以0到R等步长变化,当x越接近R时,圆的斜率越大,计算出来的y却不是间隔均匀的,这样画出的圆弧精度不高;在计算中,由于采用了平方、开方运算和取整运算,画圆时速度慢,算法效率不高,并且存在很大的误差。所以这个算法在实际的应用中很少采用,这里只是做一个简单说明。 2.2 DDA(数值微分法)算法 图1 圆心坐标原点 由式(1)可知圆弧的参数方程为: (3) 说明:这里只给出圆心坐标在原点情况的图形(图1)。 在式(3)中,为半径的旋转角度,对式(3)两边求导得到圆的极坐标方程: (4) 由于: (5) 由式(3)和式(4)可得到圆弧的DDA算法 (6) 在这个算法中,涉及到乘法运算和取整运算,输出的精度低;由于变化小,圆弧输出效率低。 2.3 中心点法 2.3.1 中心点法的具体内容   为了简便起见,只考虑中心在原点,半径为R的圆。 对于中心不在原点的圆,可先通过平移变换,转化为中心在原点的圆。考虑到圆的对称性,在具体进行扫描转换时,只需对1/8圆实施即可。如果要显示一个整圆,只要在显示上确定一点( x, y) , 利用对称性原理同时显示圆周上其它7 个对称点, 它们分别是(y,x),(y,-x),(x,-y),(-y,-x),(-y,x),(-x,y),(-x,-y)。 如下图2: 图2 下面讨论从(0,R)到 顺时针确定最佳逼近于该圆弧的像素序列。 假定任一像素点为最接近理想圆弧的点并确定,那么下一像素点只能是正右方的像素点或右下方的像素点。 如下图3所示。 图3 当前像素与下一个像素的候选者 构造函数:。 1) 圆上的点; 2) 圆内的点; 3) 圆外的点。 假设为的中点,如果,说明在圆内,离圆弧更近,应选为下一像素点;如果,说明在圆外,离圆弧更近,应选为下一像素点;如果,说明、与圆弧等距离,选任意一点皆可,约定选取点。 构造判别式 若,选为下一像素点;再构造下一个判别式: 如图4所示: 图4 若,选为下一个像素点;在构造下一个判别式:

文档评论(0)

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

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

1亿VIP精品文档

相关文档