哈工大-计算机图形学-作业-圆弧的算法描述.doc

哈工大-计算机图形学-作业-圆弧的算法描述.doc

ID:59348149

大小:104.50 KB

页数:5页

时间:2020-10-31

哈工大-计算机图形学-作业-圆弧的算法描述.doc_第1页
哈工大-计算机图形学-作业-圆弧的算法描述.doc_第2页
哈工大-计算机图形学-作业-圆弧的算法描述.doc_第3页
哈工大-计算机图形学-作业-圆弧的算法描述.doc_第4页
哈工大-计算机图形学-作业-圆弧的算法描述.doc_第5页
资源描述:

《哈工大-计算机图形学-作业-圆弧的算法描述.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机图形学作业学生:XX学号:日期:2012/3/22作业1画1/8圆弧的算法描述(C语言实现)1.设置半径R202.初始化误差项d=1-R,X=0,Y=R;3.绘制点到八分之一圆弧4.D<0d=d+2X+3,X=X+1,Y=YD>0d=d+2(X-Y)+5,X=X+1,Y=Y-1;5.开始loop循环,条件X

2、IDTH/2);//flaY=flaUpUnit(flaY,HEIGHT/2);//flaR=flaUpUnit(R,WIDTH/2);//pt.x=flaUpUnit(pt.x,WIDTH/2);//pt.y=flaUpUnit(pt.y,HEIGHT/2);/*初始化误差项d*/flaDis=1-flaR;betXY=flaY-flaX;/*Bresenham算法实现*/while(betXY>0.f){pt.x=(flaX+pt.x);pt.y=(flaY+pt.y);//pt.x=flaDownUnit(pt.x,WIDTH/2);//pt.y=flaDownUnit(pt.y,HEI

3、GHT/2);DrawPoint(pt);if(flaDis<0.001f)//误差项小于0的情况{flaDis=flaDis+2*flaX+3;}else{//误差项大于0的情况flaDis=flaDis+2*(flaX-flaY)+5;flaY=flaY-1;}flaX=flaX+1;printf("X:%10.2f,Y:%10.2f",flaX,flaY);betXY=flaY-flaX;}}递推过程中的X,Y坐标(如图1-1)图1-1效果图(图1-2)注:由于点阵的数太少,进行了放大效果。半径50的效果图如下:图1-2作业2图中算法,从左到右分别是DDA、中点画法和Bresenha

4、m算法。算法精度比较从实现的效果分析,可知DDA的效果略微好于中点画法,而Bresenham算法误差较大。图2-1算法对时间的消耗比较从图2-2的两组数据可以看出,DDA的耗时较长(可能由于DDA进行了大量的浮点运算),中点算法在两组数据中都表现良好,并且耗时稳定(时间单位为微秒级)。Bresenham算法在我的实现中,两次数据差距较大,总体效果好于DDA,略逊于中点算法(所以个人觉得可能硬件实现应该会好得多)。图2-2总结在软实现上,中点算法要好于Bresenham和DDA算法,DDA由于算法的设计,误差小较小,可是导致了许多的浮点运算,所以比较耗时。

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

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

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