哈尔滨工业大学-计算机图形学-作业-圆弧的算法描述.doc
《哈尔滨工业大学-计算机图形学-作业-圆弧的算法描述.doc》由会员分享,可在线阅读,更多相关《哈尔滨工业大学-计算机图形学-作业-圆弧的算法描述.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机图形学作业学生:XX学号:1093710219日期:2012/3/22作业1 画1/8圆弧的算法描述(C语言实现)1. 设置半径R 202. 初始化误差项d= 1-R,X=0,Y=R;3. 绘制点到八分之一圆弧4. D0 d=d+2(X-Y)+5,X=X+1,Y=Y-1;5. 开始loop循环,条件X0.000001f) pt.x=(flaX+pt.x); pt.y=(flaY+pt.y);/ pt.x = flaDownUnit(pt.x,WIDTH/2);/ pt.y = flaDownUnit(pt.y,HEIGHT/2); DrawPoint(pt);if(flaDis 0.00
2、1f)/误差项小于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.2fn,flaX,flaY); betXY=flaY-flaX; 递推过程中的X,Y坐标(如图1-1)图1-1效果图(图1-2)注:由于点阵的数太少,进行了放大效果。半径50的效果图如下:图1-2作业2图中算法,从左到右分别是DDA、中点画法和Bresenham算法。算法精度比较从实现的效果分析,可知DDA的效果略微好于中点画法,而Bresenham算法误差较大。图2-1算法对时间的消耗比较从图2-2的两组数据可以看出,DDA的耗时较长(可能由于DDA进行了大量的浮点运算),中点算法在两组数据中都表现良好,并且耗时稳定(时间单位为微秒级)。Bresenham算法在我的实现中,两次数据差距较大,总体效果好于DDA,略逊于中点算法(所以个人觉得可能硬件实现应该会好得多)。图2-2总结在软实现上,中点算法要好于Bresenham 和DDA算法,DDA由于算法的设计,误差小较小,可是导致了许多的浮点运算,所以比较耗时。7 / 7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈尔滨工业大学 计算机 图形学 作业 圆弧 算法 描述
限制150内