圆弧算法介绍_第1页
圆弧算法介绍_第2页
圆弧算法介绍_第3页
圆弧算法介绍_第4页
圆弧算法介绍_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

圆弧生成算法只画1/8圆,其余点通过对称关系求得。圆的特征:八对称性。只要扫描转换八分之一圆弧,就可以求出整个圆弧的象素集中点画圆法考虑中心在原点,半径为R的第二个8分圆,构造判别式(圆方程)根据d的正负来判断是取P1还是P2。即判断中点M在圆内还是在圆外?1)若d<0,则取P1()为下一象素,而且再下一象素的判别式为

2)若d>=0,则应取P2()为下一象素,而且下一象素的判别式为第一个象素是(0,R),判别式d的初始值为两种情况:为了进一步提高算法的效率,可以将上面的算法中的浮点数改写成整数,将乘法运算改成加法运算,即仅用整数实现中点画圆法。使用e=d-0.25代替de0=1-R算法描述:MidPointCircle(intrintcolor){ intx,y;floatd;x=0;y=r;d=1.25-r;circlepoints(x,y,color);//显示圆弧上的八个对称点

while(x<=y){ if(d<0) d+=2*x+3; else{d+=2*(x-y)+5;y--;}x++;circlepoints(x,y,color); }}中点画圆举例:象限判别通过分析,发现在进行绘制圆弧曲线时,需要考虑轨迹点所在象限的情况,因此需要进行象限的判别。对于在坐标轴上的点,需要根据绘制圆的方向来决定。ABCD3.4Bresenham算法仍然考虑圆心在原点的一个第一象限的圆弧。对于圆弧上的点p(x,y),其下一个可选择的点如图。H(x+1,y)D(x+1,y-1)当,应取H点,H离圆弧近当,应取L点,L离圆弧近令:起始点A其中第2点有当,应取H点,此时当,应取L点,此时算法描述:procedurearc(radius:integer)varx,y,d:interger;

begin x:=0; y:=radius; d:=3-2*radius; whilex<ydo begin

plot(x,y); ifd<0thend:=d+4*x+6else begin d:=d=4*(x-y)+10; y:=y-1; end; x:=x+1; end; ifx=ythenplot(x,y); end;举例:半径为R,圆心为(0,0),A(0,6)d1=3-2*6=-9 x y d0 0 6 d1=-91 6 d2=-3 2 6 d3=73 5 d4=14 4 4 d5=3012345665432103.5绘圆弧正负法考虑圆心在令:半径为R取A点已知求原则为:当取当取当有当取算法描述:procedurepnarc(radius,xc,yc:integer)varx,y,f:interger;

begin x:=xc;y:=yc+radius; f:=0; whiley>ycdo begin

plot(x,y); iff>0then begin f:=f-2*(y-yc)+1; y:=y-1; end; else begin f:=f+2*(x-xc)+1; x:=x+1; end; end; ify=ycthenplot(x,y); end;举例:半径为R,圆心为(0,0),A起点(0,6)d1=3-2*6=-9 x y d0 0 6 F0=01 6 F1=1 1 5 F2=-102 5 F3=-73 5 F4=-24 5 F5=54 4 F6=-45 4 F7=55 3 F8=-26 3 F9=96 2 F10=46 1 F11=112 6 0 012345665432103.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论