资源描述:
《136参数曲线的快速生成算法----毕业设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、毕业论文:参数曲线的快速生成算法江南大学毕业设计论文论文题目:参数曲线的快速生成算法姓名:学院:信息工程学院专业:计算机科学与技术指导老师:日期:2003年6月48毕业论文:参数曲线的快速生成算法摘要本毕业设计主要研究参数曲线的直接快速生成,要直接生成参数曲线就需对参数方程{x=f(t),y=g(t),(0t1)}的参数t每次增加一个步长,然后计算该点的x和y坐标值并绘制该点。要逐点地生成参数曲线,就要求参数t每次增加的步长要使曲线前进的幅度不得超过一个象素长度,否则有可能跨过一个中间象素而产生断点。为了提高曲线生成算法的速度,本毕业设计针对如何选择最佳的
2、步长进行比较讨论,以使曲线前进的幅度在不超过一个象素的前提下,选择尽量大的步长。为了进一步提高算法的速度,在前面讨论的最佳步长的基础上又采用了双步逐点曲线生成算法,即将上述得到的步长增加一倍,以使算法的循环次数减少一半。由于步长增加一倍,这样当曲线前进一步时,其幅度有时会大于一个象素的长度,这时我们通过插值的方法来确定跨过的那个中间象素。通过上述讨论的算法能够比较快速的逐点生成曲线,为了实现上述算法,本毕业设计使用VisualC++6.0为工具并以三次Bezier曲线、普通参数曲线{x=f(t)=X3t3+X2t2+X1t+X0,y=g(t)=Y3t3+Y
3、2t2+Y1t+Y0},以及导师所给的一个特殊的曲线方程为例编程实现上述算法。关键词:参数曲线,逐点,双步,VisualC++6.0作者:二零零三年六月48毕业论文:参数曲线的快速生成算法AbstractThisgraduationprojectmainreseachthedirectbornoftheparametercurve{x=f(t),y=g(t),0<=t<=1,}quickly.Todirectbornoftheparametercurveitneedtoincreasetheparameter‘t’asteplengtheachtime,t
4、hencaculatethispoint’scoordinatesvalueofxandyanddrawthispoint.Fordrawingtheparametercurvebypointtopointitordetotheparametert’ssteplengthofincreasedmaketheprogressrangeofthecurvecannotlargethanthelengthofonepels,otherwisethecurvemaystepoveronemiddlepelsandskiponepointthatitshouldbe
5、onthecurve.Forspeedingupthearithmeticofthedrawingofthecurve,thisgraduationprojecthavediscussedthechoiceofthebeststeplength,soastochoosethebiggststeplengthonthepremisethattheprogressrangeisnotlargethanoneples.Tospeedingupthearithmeticmore,beforethebaseofdiscussionaboutthebeststeple
6、ngthjustnow,wetakethearithmeticofdoublestepformofthecurvebypointtopoint,anditdoublethesteplengththatitbecaculatedjustnowtolessenthetimeofthecirculationinthearithmetictothehalf.Becauseithavedoubledthesteplength,theprogrssrangmaylargethanthelengthofonepelswhenthecurvegoaheadonestep.
7、Thenwemusttakethemethodofdifferencetomakesurethemiddlepelsthatbestepedover.Itcandrawthecurvequicklythatusedthearithmeticwehavediscussed.Toachivethearithmetic,IhaveusedtheVisualC++6.0andtakeexampleforthethreetimeBezierparametercurve,acommonparametercurve{x=f(t)=X3t3+X2t2+X1t+X0,y=g
8、(t)=Y3t3+Y2t2+Y1t+Y0,0t1}andacurv