圆弧算法介绍.ppt

圆弧算法介绍.ppt

ID:52676984

大小:424.00 KB

页数:18页

时间:2020-04-12

圆弧算法介绍.ppt_第1页
圆弧算法介绍.ppt_第2页
圆弧算法介绍.ppt_第3页
圆弧算法介绍.ppt_第4页
圆弧算法介绍.ppt_第5页
资源描述:

《圆弧算法介绍.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、圆弧生成算法只画1/8圆,其余点通过对称关系求得。圆的特征:八对称性。只要扫描转换八分之一圆弧,就可以求出整个圆弧的象素集中点画圆法考虑中心在原点,半径为R的第二个8分圆,构造判别式(圆方程)根据d的正负来判断是取P1还是P2。即判断中点M在圆内还是在圆外?1)若d<0,则取P1()为下一象素,而且再下一象素的判别式为2)若d>=0,则应取P2()为下一象素,而且下一象素的判别式为第一个象素是(0,R),判别式d的初始值为两种情况:为了进一步提高算法的效率,可以将上面的算法中的浮点数改写成整数,将乘法运算改成加法运算,即仅用整数实现中点画圆法。使用

2、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);}}中点画圆举例:象限判别通过分析,发现在进行绘制圆弧曲线时,需要考虑轨迹点所在象限的情况,因此需要进行象限的判别。对于在坐标轴上的点,需要根据绘制圆的方向来

3、决定。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;beginx:=0;y:=radius;d:=3-2*radius;whilex

4、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=-9xyd006d1=-916d2=-326d3=735d4=1444d5=3012345665432103.5绘圆弧正负法考虑圆心在令:半径为R取A点已知求原则为:当取当取当有当取算法描述:procedurepnarc(radius,xc,yc:integer)varx,y,f:interger;beginx:=xc;y:=yc+radius;f:=0;while

5、y>ycdobeginplot(x,y);iff>0thenbeginf:=f-2*(y-yc)+1;y:=y-1;end;elsebeginf:=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=-9xyd006F0=016F1=115F2=-1025F3=-735F4=-245F5=544F6=-454F7=553F8=-263F9=962F10=461F11=11260012345665432103.5圆的多边形迫近法考虑

6、圆心在内接正多边形的一个顶点:半径为Rcp的幅角为则有cos(+)=coscossinsinsin(+)=sincos+cossinover

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。