关于曲线绘图与运动控制问题的研究_第1页
关于曲线绘图与运动控制问题的研究_第2页
关于曲线绘图与运动控制问题的研究_第3页
关于曲线绘图与运动控制问题的研究_第4页
关于曲线绘图与运动控制问题的研究_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于曲线绘图与运动控制问题的研究姓名:张硕 朱聪聪 禹雪珂学号:201722060220172106102017210609专业:研究生组题目:关于曲线绘图与运动控制问题的研究摘要随着计算机的广泛应用,计算机辅助绘图在当今社会已成为计算机辅助设计的基础。本文的建模题目就是利用数学建模的方法来研究计算机绘图以及运动控制的原理。针对问题一,首先根据题意建立了满足条件的三阶贝塞尔曲线模型,让屏幕上的4点在一条光滑又简单的曲线上。然后根据模型计算出由以下 4点构成的参数方程,运用 matlab编程,绘出了相应的曲线。2,3,1,DCBA针对问题二的第一步,先把所给的参数方程的参数作 4等分,即 ,1,432,0t然后用 matlab编程绘图,验证出了当参数作 4等分时,这些点对应的曲线弧长并不是4等分的。对于弧长 n等分的问题,随后利用微积分的原理建立了求弧长的公式模型。在弧长公式的基础上,进行弧长等分。利用这个模型,求出每段弧长对应的参数 t,结合所给的参数方程,最后利用编程绘制出了曲线的弧长 4等分和 10等分图像。关键词:贝塞尔曲线;微积分;MATLAB 绘图1一 问题重述目前计算机辅助绘图已成为计算机辅助设计的基础,本文的问题就是利用数学建模的方法来研究计算机绘图以及运动控制的基本原理。问题 1:绘图 在计算机屏幕上随机地画出 和 ,321,yxCByxA4,yxD利用这 4个点的信息绘制出一条曲线,其中让 为曲线的起点, 为曲线的终点,和 为控制点。曲线在起点 处,以 方向为切线方向,在终点 处,以 方向BCAB为切线方向。使用参数方程 来描述这条曲线,但满足上述条件的曲线有无穷条,10,tyx请增加一些条件,使它表示一条曲线,并且具有形式简单(如多项式) 、曲线光滑(如连续可微)和美观等特点。根据建立的模型写出由以下 4点 构成曲线的参数方程,2,3,1DCBA并绘出这条曲线(同时在图上标注这 4个点,和相应的切线) 。问题 2:运动控制 计算机辅助设计在一些情况下,需要对沿着指定的运动途径的空间位置进行精确的控制,而参数方程 给出的曲线一般是达不到这一10,tyx效果。也就是说,若将参数 作 等分,而对应的曲线弧长并不是 等分的。例如:需tnn要控制的曲线由下列参数方程表示(1-1) .10,7.29.035.143 ttttyx若将参数 作 4 等分,即 ,而这些点对应的曲线弧长并不是 4 等分,的,本题需要绘图验证这一点,并给出将弧长作 等分的数学模型或计算公式。n根据建立的数学模型,将参数方程(1-1)所绘出曲线的弧长 4 等分和 10 等分。绘出参数方程(1-1)的控制曲线,并标注出弧长 4 等分和 10 等分的等分点。二问题分析对于问题一,是让我们对计算机屏幕上的随机 4 点满足的参数方程添加一些条件,使得绘出的曲线只有一条,且具有一定的特点。根据搜集的信息,首先我们建立了三2阶贝塞尔曲线方程的模型,这个模型是多项式,绘出的曲线具有形式简单,曲线光滑和美观等特点。然后根据模型求出了 4 点满足的曲线的参数2,3,1DCBA方程,并用 matlab 软件绘制出了相应的曲线。对于问题二,要求我们在参数 等分的情况下,给出将弧长 等分的数学模型。根nn据题意我们已经知道了需要控制的曲线的参数方程,利用微积分的方法,给出了求曲线弧长的计算公式,在此基础上对弧长进行 等分。根据建立的模型,利用 matlab 软件绘制出将参数方程(1-1) 所绘出曲线的弧长 4 等分和 10 等分的图像。三模型假设1.假设计算机屏幕上的随机 4点没有重合。2. 假设计算机正常运行。3. 假设用 matlab 运行的误差忽略不计。四符号说明参数 t定点控制点幕上的任意四点参数方程的系数总弧长 s每段的弧长3五模型的建立与求解5.1 理论准备5.1.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方向的“长度有多长” 。曲线的参数形式为:4现代的成象系统,如 PostScript、Asymptote 和 Metafont,运用了以贝兹样条组成的三次贝兹曲线,用来描绘曲线轮廓。D.一般参数公式给定点 P0、P1、Pn,其贝兹曲线即:如上公式可如下递归表达: 用表示由点 P0、P 1、 、Pn 所决定的贝兹曲线。5.1.3 贝塞尔曲线的性质贝塞尔曲线把组合参数曲线构造成在连接处具有直到 n阶连续,即 n阶连续可微,这类光滑度称之为 nC或 n阶参数连续性。并且组合曲线在连接处满足不同于 nC的某一组约束条件,具有 n阶几何连续性,5.2 问题一模型的建立根据题目所给,要使参数方程并且具有形式简单(如多项式) 、曲线光滑(如连续可微)和美观等特点,我们建立了三阶贝塞尔曲线方程的模型:如果已知一条曲线的参数方程,系数都已知,两个方程的参数为 ,且它的值位于0,1 之间,表现形式如下所示:()=*3+2+1()=*3+2+1由于这条曲线的起点为 ,我们可以用以下公式求出剩余三个点的坐标(1, 1)2=1+/33=2+( +/3)4=1+2=1+/33=2+(+)/34=1+经过观察,不管方程的已知和所求是什么,一共有 6 个未知数,并且总能找到 6个等式,其中 是已知的。也就是说,上面的方法是完全可逆的,因此可以根据(1, 1)54 个已知点坐标来反求曲线参数方程的系数,经过变换,可得到下列式子: =3( 21)=3( 32) =41=3( 21)=3( 32) =41所以,对于坐标任意的 4 个已知点,总能构建一条贝塞尔曲线,并可通过以上算法求出其参数方程。5.3问题一的求解根据建立的模型,将 代入三阶贝塞尔曲线模型中,得到2,3,1DCBA=3( 21) =0=3( 32) =6=41=5=3( 21) =6=3( 32) =6=41=1所以得到的参数方程为 ()=5*3+62+0+1(-6) .()=1*3+ 2+6+1根据计算结果,利用 MATLAB写出程序见(附录 1) ,绘出这条曲线同时在图上标注出四点点,和相应的切线,其中 为曲线的起点, 为曲线的终点, 和 为控制点.ADBC曲线在起点 处,以 方向为切线方向,在终点 处,以 方向为切线方向.AB如下图:61 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 311.21.41.61.822.22.42.62.835.3 问题二模型的建立问题 2中,需要控制的曲线的参数方程已知,当参数 作 等分时,要使曲线弧长tn是 等分,这时我们应利用微积分的方法,给出求曲线弧长的计算公式,在此基础上n建立对弧长进行 等分的数学模型。n若曲线弧的参数方程如下:( )=( )=( ) 则弧长元素(弧微分)为:=( ) 2+( ) 2= 2( ) +2()所求弧长为=2( ) +2()因此得到将弧长进行 n 等分的公式模型:7=2( ) +2()ndtts)(221tt)(322. nttsn)()1(22计算出 n 等分点的到起始点的弧长,利用 Matlab 可以求出每个等分点对应的参数t,从而可绘出 n 等分的对应图像。5.4 问题二的求解首先对于参数方程 若将参数 作 4 等分, .10,7.29.035.143 ttttyx t即 时,经过 matlab 软件编程绘制图像,发现并验证了这些点对应的曲线1,432,0t弧长并不是 4 等分的。绘制的图形如下:8从图 5.4-1 中可以看出当参数 作 4 等分时,对应的弧长并不是 4 等分的。t对于参数方程 将其代入建立的模型之中, .10,7.29.035.13 ttttyx运用 matlab 编程求出弧长 S 为 2.4952,若将弧长进行 4 等分,每段的弧长 s 为0.6238。再次运用 Matlab 编程,用已知的四等分点的弧长 s 反过来求出对应的参数 t,数据如表格所示:弧长 s 参数 t=0.00000 =0.0000=0.62381s =0.5501t=1.24762 =0.8002=2.33483s =0.9183t=2.49524 =1.0004进而绘制出将弧长进行 4 等分的图像,并将 4 等分的等分点用红色圆圈在图上进行了标注,如图:9同理,运用模型可将曲线 10 等分。可求出 10 等分之后每段的弧长为 0.2495,运用 Matlab 求出了所有等分点参数 t 的取值。弧长 s 参数 t=0.0000 =0.00000=0.2491s =0.24021t=0.4992 =0.43242=0.7483s =0.63103t=0.9984 =0.73324=1.2485s =0.80075t=1.4976 =0.85326=1.7477s =0.89727t=1.9968 =0.93538=2.2459s =0.96919t10=2.49510s =1.000010t并绘制出了将弧长进行 10 等分的图像,并对弧长 10 等分的等分点进行了标注。六模型评价6.1模型一的评价6.1.1优点(1)模型简单,通过一个贝塞尔曲线模型给出了屏幕上任意 4点需要满足的条件,利用限制条件绘制出了美观的图像,便于观察。(2)该模型的原理浅显易懂,计算过程不复杂,适用性比较强。6.1.2缺点由于所给的数据较少,绘制出的图像不是特别准确,存在一定的误差。6.2模型二的评价6.2.1优点(1)模型简单,原理浅显易懂,思路明确,直奔主题。(2)利用了微积分求弧长,化曲为直,简化了计算过程。6.2.2缺点在计算 n等分点时,过程较为繁琐,复杂。11参考文献1刘卫国,MATLAB 程序设计与应用(第二版)M. 北京:高等教育出版社,2006.2龚纯,王正林编 .MATLAB 语言常用算法程序集 .北京:电子工业出版社,2008.3王正林等编.MATLAB/Simulink 与控制系统仿真(第 2 版).北京:电子工业出版社,20084夏玮等编.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);hold onx0=1;1;3;2y0=1;3;3;2;plot(x0,y0,r)x1=1;1;y1=1;3;plot(x1,y1,-g)t=0:0.01:1;12x=-5*t.3+6*t.2+1;y=t.3-6*t.2+6*t+1;plot(x,y,-b);hold onx0=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);hold ont=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.9.*t.*t-2.7.*t.3;plot(x,y,*:r);hold ont=0.5:0.01:0.75x2=0.5+0.3.*t+3.9.*t.*t-4.7.*t.3;y2=1.5+0.3.*t+0.9.*t.*t-2.7.*t.3;plot(x2,y2,*:g);hold ont=0.75:0.01:1x3=0.5+0.3.*t+3.9.*t.*t-4.7.*t.3;y3=1.5+0.3.*t+0.9.*t.*t-2.7.*t.3;13plot(x3,y3,*:k);(2)由已知的参数方程求出的总弧

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论