信息与计算科学专业毕业论文24107.doc

上传人:文库蛋蛋多 文档编号:4020712 上传时间:2023-04-01 格式:DOC 页数:27 大小:756.50KB
返回 下载 相关 举报
信息与计算科学专业毕业论文24107.doc_第1页
第1页 / 共27页
信息与计算科学专业毕业论文24107.doc_第2页
第2页 / 共27页
信息与计算科学专业毕业论文24107.doc_第3页
第3页 / 共27页
信息与计算科学专业毕业论文24107.doc_第4页
第4页 / 共27页
信息与计算科学专业毕业论文24107.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《信息与计算科学专业毕业论文24107.doc》由会员分享,可在线阅读,更多相关《信息与计算科学专业毕业论文24107.doc(27页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文) 题 目: 鱼体外观形体建模研究 专 业: 信息与计算科学目 录1 绪论21.1 目的31.2 原理32 鲢鱼的形态特征33 数据采集44 基于插值的建模方法44.1三次样条的数学基础【4】54.1.1 定义三次样条函数54.1.2样条插值函数的建立64.2 具体实施85 基于拟合的建模方法125.1贝塞尔简介125.2贝塞尔曲线的作用135.3 de Casteljau算法5135.3.1 在3点之间内插生成抛物线135.3.2常用的贝塞尔曲线145.3.3任意多个点的de Casteljau算法145.4贝塞尔曲线的性质155.4.1端点插值155.4.2仿射不变性155.

2、4.3凸包性155.5鱼体数据拟合实例156 插值和拟合方法的比较18结论18谢辞19参考文献:19附录:19鱼体外观形体建模研究摘要:自然界的动物对于动画制作者是一种长期存在的以及困难的挑战,然而要做出像3D电影中那些栩栩如生的动画的前提是要建立各种动物特有的外观形体模型。本文以鲢鱼为例,目的是要实现鲢鱼外观形体的数字化设计和外观形体的可视化模拟。方法是提出两种不规则形体的几何造型方法,利用插值和逼近的方法,对于鱼体不同部位的各项尺寸数据进行建模,从而找到鱼体每一个部位最接近自然生态中鲢鱼的函数模型,然后分析两种建模方法的优劣性。最后,利用数学软件以及计算机图形学的相关原理,使用matlab

3、软件编程,在计算机上绘画出所构建的鲢鱼模型。关键词:Photoshop;三次样条函数;Bezier曲线; matlabThe research of modeling the appearance of fishs bodyAbstacts:The painting of animals in natrue is a long-standing and difficult challenges for animation producers.However,before making those vivid animations in those 3D movies,modeling the

4、appearance of those animals is very important. This paper is in terms of the silver carp, aiming to bringing about the digitial design and modeling the visualization of this fishs appearance. To achieving this target,I put forward to use two different methods,to fit different data in different posit

5、ion on fishesbody through a proper sequence from discrete to continuous,which are interpolation and approximate.Thus,I will find such function which is closer to those silver carp living in nature and find out the advantages and disadvantages between these two modeling methods.Finally,I will use the

6、 knowledge of mathematical software to painting the model of silver carp on computer screen.Key words:Photoshop;cubic spline curve;Bezier curve;matlab 1 绪论20世纪80年代后期诞生的人工生命是当前生命科学、信息科学、系统科学以及工程技术科学等学科交叉研究的热点。随着计算机图形学和硬件技术的高速发展,计算机动画近十几年也取得了很大的发展,正逐步渗透到我们生活的各个方面。如何在动画中逼真地展现自然界栖息着的具有复杂运动和行为的自然生态系统的动画,

7、对计算机动画创作者来说,是富有吸引力和挑战性的难题。在一个动画系统中,可能会有大量的动物,每一个动物都表现出不同的行为,在理想情况下,动画师希望以最少的劳动活的丰富、复杂的自然景象,不仅要表现栩栩如生的外观形态,而且要表现出每个动物的复杂运动和它们的各种行为,其困难程度可想而知。在人工鱼这一领域中最具代表性的就是涂晓媛博士研究开发的新一代计算机动画“人工鱼”,其被学术界称之为“晓媛的鱼”(xiaoyuans fish),被引用于在英语国家通用的教科书中。传统的计算机动画是采用“关键帧”技术,例如侏罗纪公园就是这种技术成功的典范,这些恐龙异常的逼真,就是一些细微的细节动作都表现出来了,但是这些都

8、是资深的美工一步一步设计、调整出来的,计算机主要起的是渲染的作用。而涂晓媛博士在九十年代初提出的“人工鱼”却是计算机图形学和人工生命两个领域富有成果的嫁接,是AI(人工智能)在图形学中的成功应用。涂晓媛研究开发的“人工鱼”(artificial fish)是基于生物物理和智能行为模型的计算机动画新技术,是在虚拟海洋中活动的人工鱼社会群体。“人工鱼”不同于一般的计算机“动画鱼”之处在于:“人工鱼”具有“人工生命”的特征,具有“自然鱼”的某些生命特征,如:意图、习性、感知、动作、行为等。她的“人工鱼”的形态(外形、颜色、姿态)和“自然鱼”非常相似,几乎达到了“以假乱真”的程度。在一次国际会议上,晓

9、媛演示了“人工鱼”的录像,人们看到屏幕上一群色彩美丽、活泼可爱的热带鱼,在海水中漫游,逼真的外形、生动的姿态,伴随着水流的运动,还以为是在水族馆中拍摄的真热带鱼的录像。直到晓媛把“人工鱼”的彩色消隐,变成黑白的鱼,再把“人工鱼”的肌肉剥离,剩下一群热带鱼的骨架在游泳,才确信这是计算机动画的“人工鱼”。她也因此在1996年获国际计算学会ACM最佳博士论文奖,她的获奖论文题目就是“人工动物的计算机动画”(artificial animals for computer animation: biomechanics , locomotion, perception and behavior)。ACM

10、是计算机科学领域的国际性权威学术机构,颁发“图灵奖”、“最佳博士论文奖”等计算机科学技术界的高级奖励。涂晓媛是第一位也是迄今唯一一位获此殊荣的中国学者。涂晓媛博士在人工鱼一书中写道:一群色彩鲜艳、美丽活泼的热带鱼,大鱼、小鱼、雄鱼、雌鱼,悠闲地栖息在海底世界的水草从中,自由地随波逐流在礁石堆旁,戏水漫游,摇头摆尾,上浮下沉,求爱交配,觅食吞饵。突然,一条可怜的小鱼被钩子钩住,在痛苦地挣扎,吓得鱼儿们飞快地逃离现场。1.1 方法这些栩栩如生的鱼儿们要想在计算机屏幕上实现,基于物理的人工鱼模型是构造人工鱼动画的关键。本文以鲢鱼作为代表,利用插值和拟合两种不同的建模方法,力争将鱼体外部形态用数学模型

11、尽可能逼真的展现出来。插值和拟合都是数据优化的一种方法,当实验数据不够多时经常需要用到这种方法来画图。在matlab中都有特定的函数来完成这些功能。这两种方法的确别在于:当测量值是准确的,没有误差时,一般用插值;当测量值与真实值有误差时,一般用数据拟合。虽然我的理论水平有限,所做的设计没法达到“晓媛的鱼”如此逼真的程度,但是也为今后对于不规则物体的物理建模提供一种有效的方法。1.2 原理用一组离散点构造曲线,给出的离散点确定了曲线的大致形状,可以使用两种方法选择分段多项式函数,得到样条曲线。(1) 插值拟合方法:要求构造的曲线依次通过一组离散点(称为型值点)并满足光滑性要求,称作插值样条曲线。

12、在设计的最初阶段,型值点的确定往往是不精确的,需要修改,而插值曲线不能直接通过修改离散点的坐标控制和修改曲线的形状。以插值方法构造的自由曲线,一般用于绘图或动画设计。(2) 逼近拟合方法:要求构造的曲线最逼近所给定的数值点(称为控制点),称作逼近样条曲线,。将控制点用直线段连接起来,称为曲线的控制图(或称为控制多边形)。包含一组控制点的凸多边形边界称为“凸包”。每个控制点均在凸包之内或凸包边界上,曲线以凸包为界,保证沿控制点平滑前进。凸包提供了曲线与控制点区域间的偏差测量。2 鲢鱼的形态特征作为中国四大家鱼之一的鲢鱼又叫白鲢、鲢子。体形侧扁,背部青灰色,两侧及腹部白色。头较大。眼睛位置很低。鳞

13、片细小。腹部正中角质棱自胸鳍下方直延达肛门。胸鳍不超过腹鳍基部。各鳍色灰白。鲢鱼性急躁,善跳跃。生活在水体的中上层。鲢鱼体侧扁,稍高。头较大,约为体长的 14。口宽,下颌稍向上突出,吻短钝而圆。眼小,位于头侧中轴之下,鳃耙特化,彼此联合成多孔的膜质片。鳞细小而密。侧线明显下弯,有侧线群120枚。腹部较窄,自胸鳍至肛门有腹棱突出。胸鳍末端可伸达或略超过腹鳍基部。尾鳍深叉形。体背部为灰色,腹部银白色,各鳍均为灰白色。3 数据采集由于所需的鲢鱼外部形体的确切数据很难直接找到,本文利用photoshop软件中的标尺功能,根据鲢鱼的形体特征,选取平面图片上相应点的坐标,具体做法如下:(1) 本文选用了孟

14、庆闻和苏锦祥所著的白鲢的系统解剖一书,对于其中的白鲢的外部形态的图片部分予以照相;(2) 在photoshop软件中打开所拍摄的图片,按住ctrl+r键,打开标尺功能;(3) 将光标定位在鱼体外部轮廓线上,记录下photoshop软件右上角“信息”一栏里的坐标值,用x,y表示。本文根据实际图片上鱼体外部轮廓的曲线形状,为了方便建模,采取了33个点; (4) 为了方便查阅,将所得数据记录在excel表格里; (5) 根据实际鱼体的尺寸大小和测量得到的鱼体尺寸的比较,计算所得坐标与实际尺寸之间的比例,这里算得是1:4.3;(6) 将excel表格里的数据根据实际尺寸重新计算,得到本文所需的鱼体坐标

15、值,用X,Y表示。4 基于插值的建模方法 许多实际问题都用函数来表示某种内在规律的数量关系,其中相当一部分函数是通过实验或者观察得到的,虽然在某个区间上是存在的,有的还是连续的,但却只能给出上一系列点的函数值针对鱼体外观形体的不同部分,很难用一个函数描述整体的结构,所以本文选用插值的方法来对上面一节中所取得的数据进行建模。一般的分段低次样条插值虽然计算简单、稳定性好、收敛性有保证且易在电子计算机上实现,但只能保证各小段曲线在连接处的连续性,不能保证整件曲线的光滑性。为了保证更高的光滑度,通常要求有二阶连续导数,我们利用样条插值,既可保持分段低次插值多项式,又可提高插值函数光滑性。早期工程师制图

16、时,把富有弹性的细长木条(即样条)用压铁固定在样点上,在其他地方让它自由弯曲,然后画下长条的曲线,称为样条曲线。样条曲线实际上是由分段三次曲线并接而成,在连接点即样点上要求二阶导数连续,从数学上加以概括就得到了数学样条的这一概念。4.1三次样条的数学基础【4】4.1.1 定义三次样条函数若函数,且在每一个小区间上是三次多项式,其中是给定节点,则称是节点上的三次样条函数。若在节点上给定函数值,并成立 (4.1)则称为三次样条插值函数。从定义可知要求出在每一个小区间上要确定的4个待定系数,共有n个小区间,故应确定4n个参数。根据在上二阶导数连续,在节点处应满足连续性条件, (4.2)共有3n-3个

17、条件,再加上满足插值条件(4.1),共有4n-2个条件,因此还需要2个条件才能确定。通常可在区间端点上各加一个条件(称为边界条件),可根据实际问题的要求给定,常见的有以下3种:(1)已知两端的一阶导数值,即, (4.3)(2)两端的二阶导数已知,即, (4.4)其特殊情况为 称之为自然边界条件。(3)当是以为周期函数时,则要求也是周期函数。这时边界条件应满足, (4.5)而此时(4.5)中。这样确定的样条函数称为周期样条函数。4.1.2样条插值函数的建立构造满足插值条件(4.1)及相应边界的三次样条插值函数的表达式可以有很多方法,本文利用的二阶导数值表达在区间上是三次多项式,故在上是线性函数,

18、可表示为对积分两次并利用以及,可定出积分常数,于是三次样条表达式为 (4.8)这里是未知的,为了确定,对求导得 (4.9)有此可求得类似地可求出在区间上的表达式,从而得到利用可得 (4.10)其中: (4.11)(1)对于第一种边界条件(4.3),可以导出两个方程 (4.12)如果令,那么(4.10)及(4.12)可写成矩阵形式 (4.13)(2)对于第二种边界条件(4.4),直接得端点方程 (4.14)如果令,则(4.10)和(4.14)也可以写成(4.13)的形式。(3)对于第三种边界条件(4.5),可得 (4.15)其中,式子(4.10)和(4.15)可以写成矩阵形式 (4.16)式子(

19、4.13)和(4.16)是关于的三对角方程组,在力学上解释为细梁在截面处的弯矩,成为的矩,方程组(4.13)和(4.16)成为三弯矩方程。(4.13)和(4.16)的系数矩阵中元素已经完全确定,并且满足。因此,系数矩阵为严格对角占优阵,从而(4.13)和(4.16)有唯一解。将解得结果代入(4.8)的表达式即可得到所求的三次样条函数表达式。4.2 具体实施(1)选取控制点由于三次样条函数在每一个封闭区域内xi都是非递减的,所以在选取控制点的时候,根据鱼体的轮廓线条,本文将鱼体分为六个部分分别进行三次样条插值,由于样条插值所得的曲线直接经过控制点,因此在测量控制点的时候,应尽量与图片鱼体线条重合

20、,并且每一段的一个控制点与前一段最后一个控制点相同。用第三节中采取控制点的方法所得到的控制点数据如下:x1y1X1Y10.551.852.3657.9551.252.265.3759.7181.952.558.38510.9652.522.6510.83611.3953.582.6915.39411.5674.192.5818.01711.0945.062.4621.75810.5785.932.3625.49910.1486.32.4327.0910.4497.722.9833.19612.8147.93.0133.9712.9438.032.9934.52912.857x2y2X2Y27.

21、392.0731.7778.9017.632.4832.80910.6648.032.9934.52912.857x3y3X3Y37.392.0731.7778.9017.541.8532.4227.9557.981.4234.3146.1068.091.3134.7875.6338.161.0335.0884.429x4y4X4Y40.471.782.0217.6540.821.353.5265.8051.361.035.8484.4292.160.819.2883.4832.980.7612.8143.2683.950.816.9853.444.721.0420.2964.4724.951

22、.1321.2854.8595.661.5524.3386.6655.91.6625.377.1386.131.6926.3597.2676.351.6927.3057.2676.821.5229.3266.5367.481.2332.1645.2898.161.0335.0884.429x5y5X5Y52.3657.95510.169534.20652.8387.26712.203431.2481x6y6X6Y62.0217.6548.690332.91222.8387.26712.203431.2481(2)根据已有数据容易得到每一个分段的点和点的切线斜率:第一段:=0.75,=-0.19

23、;第二段:=1.33;=2.125;第三段:=-1.2,=-1.87;第四段:=-1.42,=0.02;第五段:=-1.42,=1.13;第六段:=0.75,=1.13;所以本文符合第一种边界条件(3)利用matlab语句pp=csape(x,y,边界类型,【边界值】)以及fnplt(pp)画图语句得到如下方程以及图形:5 基于拟合的建模方法由于建模的数据均为手工测量所得,而手工测量有一定的误差存在,再插值这些数据所得的模型不能很好的重现物体原有的外部形态,所以本节采取了拟合的建模方法,这里选用贝塞尔曲线为例,给出具体拟合方法。5.1贝塞尔简介贝塞尔曲线又称贝兹曲线或贝济埃曲线,一般的矢量图形

24、软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。当然在一些比较成熟的位图软件中也有贝塞尔曲线工具,如PhotoShop等。在Flash4中还没有完整的曲线工具,而在Flash5里面已经提供出贝塞尔曲线工具。 “贝赛尔曲线”是由法国数学家Pierre Bzier所发现,由此为计算机矢量图形学奠定了基础。它的主要意义在于无论是直线或曲线都能在数学上予以描述。贝塞尔曲线是应用于二维图形应用程序的数学曲线。曲线的定义有四个点:起始点、终止点(也称锚点)以及两个相互分离的中间点。滑动两个中间点,贝塞尔曲线的

25、形状会发生变化。二十世纪六十年代晚期,Pierre Bzier应用数学方法为雷诺公司的汽车制造业描绘出了贝塞尔曲线。贝塞尔曲线就是这样的一条曲线,它是依据四个位置任意的点坐标绘制出的一条光滑曲线。在历史上,研究贝塞尔曲线的人最初是按照已知曲线参数方程来确定四个点的思路设计出这种矢量曲线绘制法。贝塞尔曲线的有趣之处更在于它的“皮筋效应”也就是说,随着点有规律地移动,曲线将产生皮筋伸引一样的变换,带来视觉上的冲击。1962年,法国数学家Pierre Bzier第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名是为贝塞尔曲线。 5.2贝塞尔

26、曲线的作用由于用计算机画图大部分时间是操作鼠标来掌握线条的路径,与手绘的感觉和效果有很大的差别。即使是一位精明的画师能轻松绘出各种图形,拿到鼠标想随心所欲的画图也不是一件容易的事。这一点是计算机万万不能代替手工的工作,所以到目前为止人们只能颇感无奈。使用贝塞尔工具画图很大程度上弥补了这一缺憾。 贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。它通过控制曲线上的四个点(起始点、终止点以及两个相互分离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞尔曲线改变曲线的曲率(弯曲的

27、程度);移动中间点(也就是移动虚拟的控制线)时,贝塞尔曲线在起始点和终止点锁定的情况下做均匀移动。注意,贝塞尔曲线上的所有控制点、节点均可编辑。这种“智能化”的矢量线条为艺术家提供了一种理想的图形编辑与创造的工具。这里介绍一个简洁精致的生成贝塞尔曲线的de Casteljau算法开始,这个算法是CAD的基础。5.3 de Casteljau算法5de Casteljau算法是用一系列点P0 ,P1 ,P2,对于0到1之间的每一个t值为点P(t)构造一个定义好的值。因此这个算法提供了一种由一组点生成一条曲线的方法。改变这些点就改变了这条曲线。构造过程基于一系列熟悉的易于实现的内插步骤。因为内插是

28、一个很稳定的过程,对其生成的曲线可能会推出许多有价值的性质。5.3.1 在3点之间内插生成抛物线在三个点P0 、P1 、P2开始,在0和1之间选择某个t值,比如t=0.3,把点A放在从P0 到P1的线段上占两点距离的比例为t的位置。类似地,把点B放在从端点P1 到P2的线段上比例t处(使用同一个t值)。从而新的点A、B可以表示成A(t)=(1-t) P0 + tP1 5.1B(t)=(1-t) P1 + tP2 5.2现在对这些点重复线性插值步骤(还使用同一个t值)。寻找从A到B的线段上比例为t处的点P(t):P(t)=(1-t)A + tB 5.3现在把等式10.1和等式10.2代入等式10

29、.3中,我们得到P(t)=(1-t)2 P0 + 2t(1-t) P1 + t2P2 5.4P(t)的参数形式是t的二次多项式,该曲线是一条抛物线。5.3.2常用的贝塞尔曲线常用的别赛尔曲线是基于四个点控制顶点的,一下给出基于四个顶点的de Casteljau算法。对于给定的t值,点A位于从P0到P1的线段上比例为分数t的位置上,点B和点C相似,然后点D位于从点A到B线段上分数t处,点E类似。最后,要求的点P位于从D到E线段上分数t处。如果对于0到1之间每一个t值都进行计算,就形成了从P0开始,被P1 和P2吸引,终止于P3的曲线P(t)。这就是四点确定的贝塞尔曲线。于是得到基于四点的贝塞尔曲

30、线有如下参数形式:P(t)= P0(1-t)3+ 3P1(1-t)2t + 3P2(1-t)t2+ P3t3 5.5它是t的三次多项式。从等式5.5注意到P(t)包含了四个控制顶点,每项都被一个三次多项式加权,然后白加权之后的项相加。这里包含的项都被看做Bernstein多项式。5.3.3任意多个点的de Casteljau算法我们已经看到de Casteljau算法利用内插,当使用三个点时生成二次参数表达式,当运用四个点时生成三次参数表达式。这个算法可以自然地推广到使用L+1个控制顶点P0 ,P1 ,P2,PL的情形。退与每一个t值,可以连续类似计算多次,每次都是通过插值前一次计算生成的相邻

31、点得到:对于i=0,L有 5.6中上标k表示第k次计算。这个过程以开始,结束于最后一个贝塞尔曲线。得到的贝塞尔曲线可以用Bernstein多项式表示为其中第k个L次Bernstein多项式被定义为5.4贝塞尔曲线的性质5.4.1端点插值基于控制点P0 ,P1 ,P2,PL的贝塞尔曲线P(t)通常不经过或插值所有控制顶点,但是我们可以发现,它总是插值P0和PL。这是一个很重要的性质,因为输入一系列点的是记者可以精确地知道贝塞尔曲线从哪里开始到哪里结束。5.4.2仿射不变性为了缩放贝塞尔曲线,改变其方向或其位置以备后用,需要其满足一个仿射。仿射不变性就是变换后的曲线与基于变换后的控制顶点的曲线是相

32、同的。5.4.3凸包性设计者常常依赖的一个性质就是贝塞尔曲线不会超出其凸包。曲线上的每一个顶点都是两个内插点的内插值,且两个点的内插值形成它们的凸组合,贝塞尔曲线会在两个端点之间光滑的移动,而且永远不会超出凸包的范围。5.5鱼体数据拟合实例观察鱼体外部形态我们可知,从鱼的头部到躯干部分的线条比较平滑,而鱼体尾部的线条弯曲度则相对较大。根据贝塞尔曲线的凸包性,所以在利用贝塞尔曲线拟合鱼体外部形态数据的时候,我们需要根据具体弯曲的程度选取相应的点,相对平滑的部分采用的点较少,弯曲角度较大的部分采用的点相对应多一点;不同于之前插值的时候完全贴合曲线选取控制点,由于贝塞尔曲线只在端点出进行插值,在选择

33、控制点的时候,不需要完全贴合图形曲线,只需选取在靠近曲线的部分的相应点即可,所得数据如下:xyXY0.471.892.0218.1270.82.133.449.1591.162.294.9889.8471.812.67.78311.182.352.6810.10511.5243.152.7213.54511.6963.612.7315.52311.7394.222.6218.14611.2664.752.520.42510.755.362.4123.04810.3635.852.3525.15510.1056.132.3826.35910.2346.352.5227.30510.8366.92

34、.829.6712.047.553.0132.46512.9437.953.0434.18513.0727.742.7333.28211.7397.482.4532.16410.5357.262.1231.2189.1167.631.6332.8097.0098.041.2634.5725.4188.081.0634.7444.5587.811.1433.5834.9027.371.331.6915.596.971.4929.9716.4076.541.6828.1227.2246.241.7626.8327.56861.7425.87.4825.761.6524.7687.0955.491.

35、4723.6076.3215.21.322.365.594.641.0319.9524.4294.060.8217.4583.5263.340.7714.3623.3112.680.7711.5243.3111.770.877.6113.7411.111.124.7734.8160.681.42.9246.020.371.791.5917.6970.591.672.5377.181对于相对平滑部分的数据,我们使用一次贝塞尔拟合,对于其他部分,则需要根据具体弯曲程度分成一小段一小段进行贝塞尔拟合。因为贝塞尔的端点插值特性,在进行分段拟合之后再合并的时候就可以进行无缝拼接了。 利用matlab中x

36、,y=bezier(px,py)以及plot命令就可以画出外部形体曲线了:蓝色线条所围区域为控制多边形蓝色线条所围区域为控制多边形,红色线条为所拟合曲线红色线条为最终鱼体形体曲线6 插值和拟合方法的比较本文中所使用的两种建模方法都可以非常便捷地画出不规则形体的外部曲线,但是两种方法都有不同的优缺点:对于插值的建模方法而言,使用这种方法的初衷是希望所求的的曲线完全经过所有控制顶点,本文中所使用的是三次样条插值的建模方法,由于三次样条的二阶连续性,所得到的曲线相比一般多项式拟合而言更为光滑;而且因为模型中每一个分区间上所使用的均为三次多项式,相对于一般的一次、二次多项式而言更为灵活,也没有高次多项

37、式在计算上的繁琐。然而这种方法虽然简便,但是由于本文中所涉及的坐标以及斜率都是手工测量得到,具有一定的误差,由此所得到的曲线就会使得形状变得很局限而且控制顶点有不希望出现的摆动,比如尾鳍部分用三次样条所得到的曲线就没有用贝塞尔所得到的那样光滑。对于用贝塞尔曲线拟合数据点而言,由于曲线不经过所有的控制点,而只在端点出插值,这样一来,所得到的曲线不会因为某一个控制点测量不准确而影响到整体线条的光滑性,从而使所得到的曲线相比较用三次样条造型的来的光滑,但是这种曲线设计在计算上没有足够的灵活性,因为所使用的Bernstein多项式的次数与控制顶点的个数有关,基于L+1个控制顶点的贝塞尔曲线是L次多项式

38、的组合,而高次多项式计算起来的代价很高,其中也有可能因为数值舍位而产生误差。结论 本文使用了绘制不规则形体常用的插值和拟合的两种建模方法,对于鲢鱼的外部形体做了一个初步的勾勒,同时也对两种建模方法给出了相应的比较。根据所得鱼体外形曲线,本文的观点是使用贝塞尔曲线拟合的方法更为有效,可以更清晰的展现出鱼体光滑的轮廓线条。同时也发现,在使用贝塞尔曲线的时候,根据所取用的控制点的的增加相应的计算量会很大。如何找到一种计算量小,所得的曲线也能尽可能光滑的建模方法,是将来要做的工作。此外,本文所建的模型只是对于平面图形而言的,要想真正在计算机屏幕上展现灵动的鱼体图像,还需要对鱼体形态的三维构造做进一步的

39、研究,在静态的基础上也可以尝试动态的模型研究。希望在以后的研究中,能真正让鲢鱼在计算机屏幕上“活”起来。谢辞虽然很早就开始准备毕业论文,但是文中涉及的很多方面自己都无法解决。这里要感谢我的指导老师陈付广老师以及我的导师袁红春老师,在论文设计过程中他们帮助我如何更好地构思和对于模型提出了重要的建议,同时也向我提供了很多有用的参考资料。在此我要向他们表示由衷的感谢。参考文献:1涂晓媛著、人工鱼的形态与外观建模、人工鱼计算机动画的人工生命方法、2001年4月第1版2班晓娟等著、人工鱼身体模型、人工鱼、20073孟庆闻,苏锦祥著、白鲢的外部形态、白鲢的系统揭破、19604李庆杨,王能超,易大义编、三次

40、样条插值、数值分析(第四版)、2001年8月第4版5(美)希尔(Hill,F.S.),(美)克雷(Kelly,S.M.)著、胡事民等译、曲线和曲面设计、计算机图形学(OpenGL版)(第3版)、2009.26胡良剑,孙晓君编著、插值、拟合和回归分析的MATLAB指令、MATLAB数学实验、2006.6附录:1.三次样条clear;%构建模型:x1=2.365,5.375,8.385,10.836,15.394,18.017,21.758,25.499,27.09,33.196,33.97,34.529;y1=7.955,9.718,10.965,11.395,11.567,11.094,10.

41、578,10.148,10.449,12.814,12.943,12.857;pp1=csape(x1,y1,complete,0.75,-0.19);pp1.coefsans = 0.0078 -0.0782 0.7500 7.9550 -0.0062 -0.0074 0.4924 9.7180 0.0083 -0.0631 0.2803 10.9650 -0.0035 -0.0022 0.1202 11.3950 0.0098 -0.0498 -0.1171 11.5670 -0.0046 0.0273 -0.1762 11.0940 0.0098 -0.0239 -0.1634 10.5

42、780 -0.0078 0.0866 0.0712 10.1480 -0.0054 0.0493 0.2874 10.4490 -0.1355 -0.0495 0.2862 12.81400.2678 -0.3641 -0.0340 12.9430x2=31.777,32.809,34.529;y2=8.901,10.664,12.857;pp2=csape(x2,y2,complete,1.33,2.125);pp2.coefs;ans = -0.5464 0.9305 1.3300 8.90100.3650 -0.7613 1.5047 10.6640x3=31.777,32.422,34.314,34.787,35.088;y3=8.901,7.955,6.106,5.633,4.429;pp3=csape(x3,y3,complete,-0.98,-1.87);pp3.coefs;ans = 0.6860 -1.1970 -0.9800 8.9010 0.1240 0.1304 -1.6679 7.9550 -6.9

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号