Bresenham画圆算法.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文档。上传文档
查看更多
Bresenham画圆算法

GIS专业实验报告(计算机图形学) 实验2 使用Bresenham画圆算法,绘制一个圆 姓名 系别班级 学号 实验日期 指导教师 实验成绩 殷悦 10级 4班 座机电话号码82 2013.06.20 肖燕 实验目的及要求 根据Bresenham画圆算法, 掌握绘制圆的程序设计方法。在绘制时应利用圆的对称性。注意,不能使用语言库中的画圆函数。 理论基础 Bresenham画圆算法: 在Bresenham画线算法的基础之上,根据输入的圆心点坐标和半径,每次绘制出八分之一圆弧,进而逐步绘制出整个圆形。 算法设计与分析 算法代码: void drawcircle int xc,int yc,int radius int x,y,p; x 0; y radius; p 3-2*radius; glClear GL_COLOR_BUFFER_BIT ; glBegin GL_POINTS ; while x y plot_circle_points xc,yc,x,y ; if p 0 p p+4*x+6; else p p+4* x-y +10; y- 1; x+ 1; if x y plot_circle_points xc,yc,x,y ; 算法原理: Bresenham画圆算法又称中点画圆算法,与Bresenham 直线算法一样,其基本的方法是利用判别变量来判断选择最近的像素点,判别变量的数值仅仅用一些加、减和移位运算就可以计算出来。为了简便起见,考虑一个圆 心在坐标原点的圆,而且只计算八分圆周上的点,其余圆周上的点利用对称性就可得到。为什么只计算八分圆周上的点就可以了呢?圆有一个“八对称性”,如下图所示。 显然,我们只需要知道了圆上的一个点的坐标 x, y ,利用八对称性,我们马上就能得到另外七个对称点的坐标。 图1 运行结果 实验心得及建议 通过这次自己动手作程序,加深了对以往所学知识的了解和应用。把老师讲的东西,通过自己的努力和探索并加以研究,变成自己所能理解的东西。在已经基本上掌握了VB基础,又加深了各项功能的认识理解。我会把这次作业当作起点,更加加深对VB软件的研究,为自己可以早日熟练掌握此软件的各项操作步骤而努力。

文档评论(0)

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

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

1亿VIP精品文档

相关文档