关于曲线绘图与运动控制问题的研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

关于曲线绘图与运动控制问题的研究姓名:张硕朱聪聪禹雪珂专业:研究生组题目:关于曲线绘图与运动控制问题的研究摘要随着计算机的广泛应用,计算机辅助绘图在当今社会已成为计算机辅助设计的基础。本文的建模题目就是利用数学建模的方法来研究计算机绘图以及运动控制的原理。针对问题一,首先根据题意建立了满足条件的三阶贝塞尔曲线模型,让屏幕上的4点在一条光滑又简单的曲线上。然后根据模型计算出由以下4点2,2,3,3,3,1,1,1DCBA构成的参数方程,运用matlab编程,绘出了相应的曲线。针对问题二的第一步,先把所给的参数方程的参数作4等分,即1,43,21,41,0t,然后用matlab编程绘图,验证出了当参数作4等分时,这些点对应的曲线弧长并不是4等分的。对于弧长n等分的问题,随后利用微积分的原理建立了求弧长的公式模型。在弧长公式的基础上,进行弧长等分。利用这个模型,求出每段弧长对应的参数t,结合所给的参数方程,最后利用编程绘制出了曲线的弧长4等分和10等分图像。关键词:贝塞尔曲线;微积分;MATLAB绘图一.问题重述目前计算机辅助绘图已成为计算机辅助设计的基础,本文的问题就是利用数学建模的方法来研究计算机绘图以及运动控制的基本原理。问题1:绘图在计算机屏幕上随机地画出332211,,,,,yxCyxByxA和44,yxD,利用这4个点的信息绘制出一条曲线,其中让A为曲线的起点,D为曲线的终点,B和C为控制点。曲线在起点A处,以BA方向为切线方向,在终点D处,以CD方向为切线方向。使用参数方程10,ttyytxx来描述这条曲线,但满足上述条件的曲线有无穷条,请增加一些条件,使它表示一条曲线,并且具有形式简单(如多项式)、曲线光滑(如连续可微)和美观等特点。根据建立的模型写出由以下4点2,2,3,3,3,1,1,1DCBA构成曲线的参数方程,并绘出这条曲线(同时在图上标注这4个点,和相应的切线)。问题2:运动控制计算机辅助设计在一些情况下,需要对沿着指定的运动途径的空间位置进行精确的控制,而参数方程10,ttyytxx给出的曲线一般是达不到这一效果。也就是说,若将参数t作n等分,而对应的曲线弧长并不是n等分的。例如:需要控制的曲线由下列参数方程表示.10,7.29.03.05.17.49.33.05.03232tttttyttttx(1-1)若将参数t作4等分,即1,43,21,41,0t,而这些点对应的曲线弧长并不是4等分的,本题需要绘图验证这一点,并给出将弧长作n等分的数学模型或计算公式。根据建立的数学模型,将参数方程(1-1)所绘出曲线的弧长4等分和10等分。绘出参数方程(1-1)的控制曲线,并标注出弧长4等分和10等分的等分点。二.问题分析对于问题一,是让我们对计算机屏幕上的随机4点满足的参数方程添加一些条件,使得绘出的曲线只有一条,且具有一定的特点。根据搜集的信息,首先我们建立了三阶贝塞尔曲线方程的模型,这个模型是多项式,绘出的曲线具有形式简单,曲线光滑和美观等特点。然后根据模型求出了2,2,3,3,3,1,1,1DCBA4点满足的曲线的参数方程,并用matlab软件绘制出了相应的曲线。对于问题二,要求我们在参数n等分的情况下,给出将弧长n等分的数学模型。根据题意我们已经知道了需要控制的曲线的参数方程,利用微积分的方法,给出了求曲线弧长的计算公式,在此基础上对弧长进行n等分。根据建立的模型,利用matlab软件绘制出将参数方程(1-1)所绘出曲线的弧长4等分和10等分的图像。三.模型假设1.假设计算机屏幕上的随机4点没有重合。2.假设计算机正常运行。3.假设用matlab运行的误差忽略不计。四.符号说明参数t定点控制点幕上的任意四点参数方程的系数总弧长s每段的弧长五.模型的建立与求解5.1理论准备贝塞尔曲线,又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,它是计算机图形学中相当重要的参数曲线。贝塞尔曲线是根据4个位置任意的点坐标绘制出的一条光滑曲线,我们把这4个点设为和,贝塞尔曲线必定通过首尾两个端点,中间的两个点虽然未必要通过,但却起着牵制曲线形状路径的作用,称为控制点。通过调整控制点,贝塞尔曲线的形状会发生变化beisaier.gif。5.1.2贝塞尔曲线的参数表示当控制点不同时,贝塞尔曲线的方程就不同。在这里,可以简单的分为一阶、二阶、三阶、和高阶贝塞尔曲线。下面对其参数方程进行简单的介绍。A.一阶贝塞尔曲线给定点P0、P1,线性贝兹曲线只是一条两点之间的直线。这条线由下式给出:且其等同于线性插值。B.二阶贝塞尔曲线二次方贝兹曲线的路径由给定点P0、P1、P2的函数B(t)追踪:TrueType字型就运用了以贝兹样条组成的二次贝兹曲线。C.三阶贝塞尔曲线P0、P1、P2、P3四个点在平面或在三维空间中定义了三次方贝兹曲线。曲线起始于P0走向P1,并从P2的方向来到P3。一般不会经过P1或P2;这两个点只是在那里提供方向资讯。P0和P1之间的间距,决定了曲线在转而趋进P3之前,走向P2方向的“长度有多长”。曲线的参数形式为:现代的成象系统,如PostScript、Asymptote和Metafont,运用了以贝兹样条组成的三次贝兹曲线,用来描绘曲线轮廓。D.一般参数公式给定点P0、P1、…、Pn,其贝兹曲线即:如上公式可如下递归表达:用表示由点P0、P1、…、Pn所决定的贝兹曲线。5.1.3贝塞尔曲线的性质贝塞尔曲线把组合参数曲线构造成在连接处具有直到n阶连续,即n阶连续可微,这类光滑度称之为nC或n阶参数连续性。并且组合曲线在连接处满足不同于nC的某一组约束条件,具有n阶几何连续性,5.2问题一模型的建立根据题目所给,要使参数方程并且具有形式简单(如多项式)、曲线光滑(如连续可微)和美观等特点,我们建立了三阶贝塞尔曲线方程的模型:如果已知一条曲线的参数方程,系数都已知,两个方程的参数为,且它的值位于0,1之间,表现形式如下所示:()()由于这条曲线的起点为(,),我们可以用以下公式求出剩余三个点的坐标()()经过观察,不管方程的已知和所求是什么,一共有6个未知数,并且总能找到6个等式,其中(,)是已知的。也就是说,上面的方法是完全可逆的,因此可以根据4个已知点坐标来反求曲线参数方程的系数,经过变换,可得到下列式子:()()()()所以,对于坐标任意的4个已知点,总能构建一条贝塞尔曲线,并可通过以上算法求出其参数方程。5.3问题一的求解根据建立的模型,将2,2,3,3,3,1,1,1DCBA代入三阶贝塞尔曲线模型中,得到()()()()所以得到的参数方程为()()(-6).根据计算结果,利用MATLAB写出程序见(附录1),绘出这条曲线同时在图上标注出四点点,和相应的切线,其中A为曲线的起点,D为曲线的终点,B和C为控制点.曲线在起点A处,以BA方向为切线方向,在终点D处,以CD方向为切线方向.如下图:5.3问题二模型的建立问题2中,需要控制的曲线的参数方程已知,当参数t作n等分时,要使曲线弧长是n等分,这时我们应利用微积分的方法,给出求曲线弧长的计算公式,在此基础上建立对弧长进行n等分的数学模型。若曲线弧的参数方程如下:{()()()则弧长元素(弧微分)为:√()()=√()()所求弧长为∫√()()因此得到将弧长进行n等分的公式模型:∫√()()......计算出n等分点的到起始点的弧长,利用Matlab可以求出每个等分点对应的参数t,从而可绘出n等分的对应图像。5.4问题二的求解首先对于参数方程.10,7.29.03.05.17.49.33.05.03232tttttyttttx若将参数t作4等分,即1,43,21,41,0t时,经过matlab软件编程绘制图像,发现并验证了这些点对应的曲线弧长并不是4等分的。绘制的图形如下:从图5.4-1中可以看出当参数t作4等分时,对应的弧长并不是4等分的。对于参数方程.10,7.29.03.05.17.49.33.05.03232tttttyttttx将其代入建立的模型之中,运用matlab编程求出弧长S为2.4952,若将弧长进行4等分,每段的弧长s为0.6238。再次运用Matlab编程,用已知的四等分点的弧长s反过来求出对应的参数t,数据如表格所示:弧长s参数t0s=0.00000t=0.0001s=0.62381t=0.5502s=1.24762t=0.8003s=2.33483t=0.9184s=2.49524t=1.000进而绘制出将弧长进行4等分的图像,并将4等分的等分点用红色圆圈在图上进行了标注,如图:同理,运用模型可将曲线10等分。可求出10等分之后每段的弧长为0.2495,运用Matlab求出了所有等分点参数t的取值。弧长s参数t0s=0.0000t=0.00001s=0.2491t=0.24022s=0.4992t=0.43243s=0.7483t=0.63104s=0.9984t=0.73325s=1.2485t=0.80076s=1.4976t=0.85327s=1.7477t=0.89728s=1.9968t=0.93539s=2.2459t=0.969110s=2.49510t=1.0000并绘制出了将弧长进行10等分的图像,并对弧长10等分的等分点进行了标注。六.模型评价6.1模型一的评价(1)模型简单,通过一个贝塞尔曲线模型给出了屏幕上任意4点需要满足的条件,利用限制条件绘制出了美观的图像,便于观察。(2)该模型的原理浅显易懂,计算过程不复杂,适用性比较强。由于所给的数据较少,绘制出的图像不是特别准确,存在一定的误差。6.2模型二的评价(1)模型简单,原理浅显易懂,思路明确,直奔主题。(2)利用了微积分求弧长,化曲为直,简化了计算过程。在计算n等分点时,过程较为繁琐,复杂。参考文献[1]刘卫国,MATLAB程序设计与应用(第二版)[M].北京:高等教育出版社,2006.[2]龚纯,王正林编..MATLAB语言常用算法程序集.北京:电子工业出版社,2008.[3]王正林等编.MATLAB/Simulink与控制系统仿真(第2版).北京:电子工业出版社,2008[4]夏玮等编.MATLAB控制系统仿真与实例详解.北京:人民邮电出版社.2008.[5]张静等编.?MATLAB在控制系统中的应用?.北京:电子工业出版社,2007?[6]?方康玲编,过程控制及其MATLAB实现(第2版).北京:电子工业出版社,2013附录问题1t=0:0.01:1;x=-5*t.^3+6*t.^2+1;y=t.^3-6*t.^2+6*t+1;plot(x,y,'-b');holdonx0=[1;1;3;2]y0=[1;3;3;2];plot(x0,y0,'^r')x1=[1;1];y1=[1;3];plot(x1,y1,'-g')t=0:0.01:1;x=-5*t.^3+6*t.^2+1;y=t.^3-6*t.^2+6*t+1;plot(x,y,'-b');holdonx0=[1;1;3;2];y0=[1;3;3;2];plot(x0,y0,'^r')x2=[3;2];y2=[3;2];plot(x2,y2,'-g')问题二(1)验证当参数作4等分,即时,这些点对应的弧长不是4等分的程序:t=0:0.01:0.25x=0.5+0.3.*t+3.9.*t.*t-4.7.*t.^3;y=1.5+0.3.*t+0.9.*t.*t-2.7.*t.^3;plot(x,y,'*:b');holdont=0.25:0.01:0.5x=0.5+0.3.*t+3.9.*t.*t-4.7.*t.^3;y=1.5+0.3.*t+0.

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功