- 1、本文档共84页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 二维图形的生成_直线和圆
* 西安工程大学计算机图形学 * (x,y) (x+1,y-1) (x,y-2) (x+1,y-2) 3、若下一像素取的是V V坐标为: V(x,y-1) 其误差项 * 西安工程大学计算机图形学 * Bresenham_Ciecle(int r,int color) { int x,y, deltaD,deltaHD,delta2,direction; x=0; y=R; deltaD=2*(1-R); //△D初始值 while(y=0) { putpixel(x,y,color); if(deltaD0) { deltaHD=2*(deltaD+y)-1; if(deltaHD=0) direction=1; //即选H else direction=2; //即选D } Bresenham画圆算法参考程序 * 西安工程大学计算机图形学 * else if(deltaD0) { deltaDV=2*(deltaD-x)-1; if(deltaDV=0)direction=2; else direction=3; } else direction=2; switch(direction) { case1: x++; deltaD+=2*x+1; break; case2: x++; y--; deltaD+=2*(x-y+1); break; case3: y--; deltaD+=(-2*y+1); break; }/*switch*/ }/*while*/ }/*Bresenham_Ciecle*/ * 西安工程大学计算机图形学 * Bresenham画圆算法 现在从(0,R)点开始向右下方逐点来寻找圆弧上的点。如图中点Pi是已选中的一个表示圆弧上的点,根据圆弧的走向,下一个点应该从Hi或者Li中选择。显然应选离圆弧最近的点作为显示圆弧的点。 Pi Hi Li 假设圆的半径为R,显然,当 xhi2 + yhi2 -R2 ≥ R2 - (xli2 + yli2) 时应该取Li。否则取Hi。 令di = xhi2 + yhi2 + xli2 + yli2 – 2R2 显然, 当di ≥0 时应该取Li。否则,取Hi。 * 西安工程大学计算机图形学 * di = (xi+1)2+yi2+(xi+1)2 +(yi-1)2-2R2 =2(xi+1)2 + 2yi2 - 2yi +1- 2R2 当di0 时-取Hi (xi+1,yi) ,则 Pi Hi Li 下步就是如何快速的计算di。设图中Pi的坐标(xi,yi)则Hi 和Li 的坐标为(xi+1,yi)和(xi+1,yi-1 ) di+1=(xi+1+1)2+yi2+(xi+1+1)2+(yi-1)2- 2R2 =2(xi+1)2+ 2yi2 - 2yi +1 - 2R2 + 4xi + 6 =di + 4xi + 6 Bresenham画圆算法 * 西安工程大学计算机图形学 * 当di≥0时-取Li(xi+1,yi-1 ) ,则 di+1 = (xi +1+1)2 +(yi-1)2 + (xi+1+1)2 +(yi-1-1)2 -2R2 =di + 4(xi - yi)+10 Pi Hi Li 易知 x0=0,y0=R,x1=x0+1 因此 d0=12 +y02+12+(y0-1)2 -2R2 = 3 - 2y0 = 3 - 2R Bresenham画圆算法 * 西安工程大学计算机图形学 * 生成圆弧的正负法 原理: 设圆的方程为F(x,y)=X2+ Y2- R2=0; 假设求得Pi的坐标为(xi,yi);则 当Pi在圆内时- F(xi , yi)0 - 向右- 向圆外 当Pi在圆外时- F(xi , yi)0 - 向下- 向圆内 * 西安工程大学计算机图形学 * 即求得Pi点后选择下一个象素点Pi+1的规则为: 当F(xi,yi) ≤0 取xi+1 = xi+1,yi+1 = yi; 当F(xi,yi) >0 取xi+1 = xi, yi+1 = yi - 1; 这样用于表示圆弧的点均在圆弧附近,且使F(xi,yi) 时正时负,故称正负法。 快速计算的关键是F(xi,yi) 的计算,能否采
您可能关注的文档
- 第七讲 动词时态.doc
- 社会交往心理学.ppt
- 第七章数字地貌模型.ppt
- 社会科学研究方法.pptx
- 社会研究方法(第四版)第十一章.ppt
- 社会公德主题班会.ppt
- 社会调查与研究 整理1.docx
- 第七讲 第一次国共合作与大革命.ppt
- 社会转型与中国法治.doc
- 第七章景区安全上课.ppt
- 2021海湾消防GST-HX-420BEx 火灾声光警报器安装使用说明书.docx
- 2022海湾消防 GST-LD-8316Ex 手自动转换装置安装使用说明书.docx
- (小升初押题卷)江苏省小升初重难点高频易错培优卷(试题)-2024-2025学年六年级下册数学苏教版.docx
- 2023-2024学年吉林省吉林市舒兰市人教版四年级上册期末考试数学试题.docx
- 2023-2024学年北京市密云区北京版四年级上册期末考试数学试卷.docx
- 2024-2025学年广东省广州市天河区人教版三年级上册期末考试数学试卷.docx
- 2024-2025学年河北省唐山市丰南区人教版五年级上册期末测试数学试卷.docx
- 人教版道德与法治一年级下册第4课《我们有精神》课件.pptx
- 消防蝶阀介绍.pptx
- 室外消火栓设置场所及设置要求.pptx
文档评论(0)