(计算机软件与理论专业论文)基于l系统的三维树木枝条弯曲与运动模拟算法的研究.pdf_第1页
(计算机软件与理论专业论文)基于l系统的三维树木枝条弯曲与运动模拟算法的研究.pdf_第2页
(计算机软件与理论专业论文)基于l系统的三维树木枝条弯曲与运动模拟算法的研究.pdf_第3页
(计算机软件与理论专业论文)基于l系统的三维树木枝条弯曲与运动模拟算法的研究.pdf_第4页
(计算机软件与理论专业论文)基于l系统的三维树木枝条弯曲与运动模拟算法的研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机软件与理论专业论文)基于l系统的三维树木枝条弯曲与运动模拟算法的研究.pdf.pdf 免费下载

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

文档简介

摘要 不规则物体建模是计算机图形学应用的前沿课题,其发展使计算机生 成更为逼真的虚拟世界得以实现。自然界中遍布着千姿百态的植物,作为 不规则物体建模领域的一个分支,植物模拟技术多年来一直被众多的科学 家所关注。植物具有复杂的三维结构,生长过程也受到多种因素的影响, 因此对其形态和运动进行模拟具有一定的难度和挑战性。 首先,改进了枝条弯曲形态模拟算法,将材料力学中的弹性杆件模型 的受力分析方法应用于基于l 系统的枝条弯曲模拟算法中,通过分析重力 与趋向性对于枝条形状的影响,实现了在重力与趋向性共同作用下植物枝 条弯曲形状的模拟。 然后,在分析树木技条力学模型的基础上,对枝条的动力学模型进行 研究;表述了作用于枝条上的阵风风力、轴向衰减力以及复原力,将上述 三种力相结合,构建一个更为复杂的风场模型,采用近似计算法对树木枝 条的运动进行动力学公式的计算,模拟枝条的运动。 最后,对改进的枝条弯曲模拟算法和基于改进风场模型的枝条运动算 法进行实现。在设计松树l 系统代码的基础上,将枝条弯曲模拟算法作用 于其上,模拟了枝条弯曲自然的松树形态。将改进的风场模型作用于树木 枝条,运用v c + + 结合o p e n g l 模拟出在更为完备和复杂的风场模型作用 下树木枝条的运动效果。 通过对已有的枝条弯曲形态模拟算法和风场模型的改进,实现了更为 逼真的树木枝条形状和其在风中的运动效果。 关键词植物模拟;l 系统;枝条弯曲模拟;枝条动力学模型;风场模型 燕山大学工学硕士学位论文 a b s t r a c t m o d e l i n gi r r e g u l a rf u z z yo b j e c t si so n eo ft h em o s tc h a l l e n g i n gp r o b l e m s i nc o m p u t e rg r a p h i c s t h ed e v e l o p m e n to f m o d e l i n gf u z z yo b j e c t sm a d ev i r t u a l s c e n e sm o r ea c t u a l v a r i o u sp l a n t ss p r e a da l lo v e rt h ew o r l d a sab r a n c ho f m o d e l i n gf o ri r r e g u l a ro b j e c t ,p l a n t s s i m u l a t i o na t t r a c t s m a n ys c i e n t i s t s a t t e n t i o n p l a n t sh a v ec o m p l i c a t e dt h r e e d i m e n s i o n a ls t r u c t u r e , a n dm a n y f a c t o r sa f f e c tt h eg r o w t ho fp l a n t s t h es i m u l a t i o nf o rs h a p ea n dm o v e m e n to f p l a n t si sv e r yd i f f i c u l ta n dc h a l l e n g i n gc o n s e q u e n t l y f i r s t l y , s i m u l a t i o nf o rb e n d i n gb r a n c h e sw a si m p r o v e d 1 1 伦m e t h o do f m e c h a n i s mm o d e lo fe l a s t i cr o dw a sa p p l i e di nt h ea l g r i t h mo fs i m u l a t i o nf o r b e n d i n gb r a n c h e sb a s e do nl s y s t e m t h r o u g ha n a l y z i n gt r o p i s ma n dg r a v i t y , o u ra l g o r i t h ms i m u l a t e db e n d i n gs h a p eo fb r a n c h e s 鹪ar e s u l to ft r o p i s ma n d g r a v i t y s e c o n d l y , t h ed y n a m i cm o d e lo ft r e e sw a ss t u d i e dt h r o u g ha n a l y z i n g m e c h a n i s mm o d e lo fb r a n c h e s ;n ef l u r r yf o r c e a x i a ld a m p i n gf o r c ea n d r e s t o r a t i o nf o r c ew e r ee x p r e s s e d t h e s ef o r c e sm e n t i o n e db e f o r em a d eu po fa m o r ep e r f e c tw i n df i e l d t h ea p p r o x i m a t en u m e r a t i o nw a su s e dt oc a l c u l a t et h e m o v e m e n to fb r a n c h e sb a s e do nd y n a m i cf o r m u l a , t h e nt h em o v e m e n to f b r a n c h e sw a ss i m u l a t e d f i n a l l y , t h ei m p r o v e da l g r i t h ma b o u ts i m u l a t i o no fb e n d i n gb r a n c h e sa n d t h ea l g r i t h ma b o u tm o v e m e mo fb r a n c h e sb a s e do ni m p r o v e dw i n df i e l dw e r e i m p l e m e n t e d l - s y s t e mc o d eo fp i n e sw e r ed e s i g n e da n dc o m b i n e dw i t h i m p r o v e da l g r i t h m a b o u ts i m u l a t i o no fb e n d h l gb r a n c h e s n et h r e e d i m e n s i o n a lm o d e lo fp i n e sw a sa c h i e v e d t h ei m p r o v e dw i n df i e l dw a sa c t e d o nb r a n c h c s ,t h em o v e m e n to ft r e e se f f e c t e db ym o r ep e r f e c tw i n df i e l dw a s s i m u l a t e dt h r o u g hv c + + a n do p e n g l a b s t r a c t a l g o r i t h m sa b o u tb e n d i n gb r a n c h e ss i m u l a t i o na n dw i n df i e l dw e l e i m p r o v e di nt h i sp a p e r m o r ev i v i dw a v i n gt r e e sa n db r a n c h e ss h a p ew o r e o b t a i n e d k e y w o r c hp l a n t ss i m u l a t i o n ;l - s y s t e m ;s i m u l a t i o no fb e n d i n gb r a n c h e s ; d y n a m i c a lm o d e lo f b r a n c h e s ;w i n df i e l d 1 1 1 燕山大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文基于l 系统的三维树木 枝条弯曲与运动模拟算法的研究,是本人在导师指导下,在燕山大学攻读 硕士学位期间独立进行研究工作所取得的成果。据本人所知,论文中除已 注明部分外不包含他人已发表或撰写过的研究成果。对本文的研究工作做 出重要贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结 果将完全由本人承担。 作者签字 日期:年月日 燕山大学硕士学位论文使用授权书 基于l 系统的三维树木枝条弯曲与运动模拟算法的研究系本人在 燕山大学攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的 研究成果归燕山大学所有,本人如需发表将署名燕山大学为第一完成单位 及相关人员。本人完全了解燕山大学关于保存、使用学位论文的规定,同 意学校保留并向有关部门送交论文的复印件和电子版本,允许论文被查阅 和借阅。本人授权燕山大学,可以采用影印、缩印或其他复制手段保存论 文,可以公布论文的全部或部分内容。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密函 ( 请在以上相应方框内打“4 ”) 作者签名:谛珥圾日期:o 1 年l 钥孑a 日 4 导师签名: 喇私 日期:。7 年 1 2 日 第1 章绪论 1 1 立题背景 第1 章绪论 虚拟现实,简称v r ( v i r t u a lr e a l i t y ) 。这一概念是由美国v p l 公司创 建人拉尼尔( j a r o nl a n i e ) 在2 0 世纪8 0 年代初提出的,九十年代初逐渐为各 界所关注并且在商业领域得到了进一步的发展。这种技术是用计算机来生 成一个逼真的三维视觉、听觉、触觉或嗅觉的感觉世界,让用户可以从自 己的视点出发,利用自然的技能和某些设备对这一生成的虚拟世界客体进 行浏览和交互考察,使人和计算机很好的融为一体,给人一种身临其境的 感觉。视景仿真是虚拟现实技术中的一个重要方面,其通过图形图像处理 技术来构造对象的三维模型,如云、烟、火焰等一些不规则的自然景物。 不规则物体建模是计算机图形学应用的前沿课题,其发展使计算机生 成更为逼真的虚拟世界得以实现。作为不规则物体建模领域的一个分支, 植物模拟技术一直是国内外研究的热点和难点。植物模拟技术是一种运用 计算机图形学的理论和方法对植物的形态结构和生长过程进行仿真的技 术,生成真实感强的、具有不同结构特征的植物可以极大的提高场景的真 实性。近年来,随着艺术设计、动画制作、虚拟场景设计等技术的发展, 用计算机模拟更为逼真的植物三维模型引起了更多的关注。植物模拟技术 成为了计算机图形学的一个重要应用研究领域。世界上遍布着千姿百态、 种类繁多的植物,植物形态的多样和不规则使植物模拟技术具有一定的难 度。另外植物的形态和生长过程还受到各种自然界因素的影响,如地球引 力、风吹、日光照射等等,综合考虑多种因素才能更真实地再现植物的形 态。因此植物模拟技术是一个颇具挑战性的研究方向。计算机模拟生成的 植物模型我们称其为虚拟植物。虚拟植物就是用虚拟现实技术在计算机上 模拟植物在三维空间中的生长发育过程和形态,是以植物个体为对象,具 有三维效果和可视化功能。虚拟植物在许多领域都有着广泛的应用,它不 l 燕山大学工学硕士学位论文 仅可以再现自然景观,在建筑环境的整体规划、园林的景物布局设计、生 成虚拟场景等领域发挥作用,而且还可以应用于农林业,用于研究植物的 生长过程,指导农业生产,可以部分替代现实中难以进行的或费时费力的 试验i 。虚拟植物日益成为理解基因活动、植物生理学、植物生长、植物 形态之间复杂关系的有用工具【2 】。 1 2 植物形态模拟的国内外研究现状 科学家们在植物模拟领域提出了很多植物模拟的方法,主要有基于分 形几何的建模方法、粒子系统和参考轴技术等。 1 2 1 基于分形几何的建模方法 分形理论创始于二十世纪七十年代初,用来描述那些不规则而欧氏几 何又无法描述的几何现象和物体,其生成的图形具有结构自相似性。分形 是植物的显著特,征【3 1 。自然界中的植物在看似不规则的外表下,其实都蕴 含着整体和局部的自相似性,即在不规则的自然景物中,任意大部分与小 部分具有相同的生成机制。正是由于植物的形态结构具有这种自相似性, 才使得分形几何的建模方法广泛的应用于植物模拟领域,主要包括l 系统 法、i f s ( i t e r a t e df u n c t i o ns y s t e m ) 法、d l a ( d i f f u s e dl i m i t e da g g l o m e r a t i o n ) 模型法。 1 2 1 1l 系统它是一种模拟植物拓扑结构的文法系统。1 9 6 8 年美国的 生物学家a r i s t i dl i n d e n m a y e r 提出了l 系统,也被称为确定性l 系统【4 】。 基于l 系统的植物模拟研究主要有两个大的方向,一个是真实植物生长过 程的模拟,注重植物学理论的真实性;另一个是单纯的植物外观形态的模 拟,注重形态的逼真性【5 】。 ( 1 ) 模拟植物生长过程模拟植物生长过程的目的在于对植物生长过 程进行研究,可以用于农田试验、资源环境分析、作物病虫害研究等等。 环境是影响植物生长的一个重要因素,因此,对植物生长过程中环境作用 的研究有着重要的意义。1 9 9 6 年,p r a s i n k i e w i c z 提出了一种植物模拟框架 2 第1 章绪论 【6 】,使得植物能和周围环境互通信息,从而更为真实的再现植物的生长过 程。p r u s i n k i e w i c z 将植物与环境的交互形式分为三种,一是植物被全球性 的环境因素影响,如日照、温度等;二是被区域性的环境因素影响,如障 碍物的存在、不同土层具有不同温度等;三是植物与环境的循环作用,即 环境影响植物,植物又反过来影响环境。这样植物的一部分就会通过其周 围环境影响自身的另一部分或其他植物,如竞争空间,竞争光照、竞争土 壤中的水分和养料。此框架的建立遵循以下决策:框架包括环境模型和植 物模型,分别被独立的程序创建,运行时可以互相交互;用户能控制植物 与环境交换的信息,使得传递的信息都是需要的。植物模型的建立以一种 扩展l 系统:o p e nl s y s t e m 为基础,允许输入来自环境的信息。o p e n l s y s t e m 既能从环境接收信息,又可以向环境发送信息,模拟出来的植物 更具真实感。w i l l i a m v a n h a e v r e 和p h i l i p p e b e k a e r t 也在这一方向进行了研 究。2 0 0 3 年,在前人研究的基础上,他们提出了一个简单有效的算法来模 拟植物生长 7 1 。其中主要考虑了光照、空间占用以及其他植物存在等外界 因素对于植物本身的影响。植物模型的建立是基于几种扩展的l 系统,包 括c o n t e x ts e n s i t i v el - s y s t e m 、s t o c h a s t i cl - s y s t e m 、p a r a m e t r i cl s y s t e m 和 o p e nl - s y s t e m 。植物与周围的障碍物的交互开始于检查树枝与物体的交 点,如果发现交点,树枝将被去掉,削剪的信号将被传播到低一级树枝。 植物与光照的交互是采用通过分析射到植物上的光子影响范围的方向分布 来决定主导的光照方向。这种方法最重要的进步在于能模拟树木受到的间 接光照。 ( 2 ) 植物外观形态模拟作为植物模拟的另一个研究方向,单纯的植物 外观形态模拟的目的是自然景观的再现,主要用于娱乐、教育、商业、园 林规划等领域。对于这一方向,研究主要集中在真实性和生成速度上。真 实性是评价植物模拟技术的一个重要指标。1 9 9 0 年,p r u s i n k i e w i c z 研究了 l 系统,利用l 系统模拟了多种植物的形态。同时他还用这种方法生成了 树木的树叶。由于叶脉的形状类似于整棵树的分枝结构,因此用l 系统产 生树状结构可以作为叶片的骨架,然后通过在树状结构的末端插入线段形 成闭合的叶缘轮廓,再对轮廓内部进行填充来得到叶片。p r u s i n k i e w i c z 采 3 燕山大学工学硕士学位论文 用双三次曲面表示法模拟了葵花的叶片和花瓣以及玫瑰花瓣等。该方法较 适合模拟某一生长阶段植物叶片和花瓣的形状,模拟叶片和花瓣在生长过 程中尺寸和形状的连续变化需要不断调整所有参数,形状不易控制且计算 量较大。树叶、树皮【引、花瓣甚至植物的毛刺1 9 l 的模拟属于植物器官的模 拟范畴,植物器官的模拟仍然是一个有待进一步发展的研究方向。2 0 0 0 年, 福州大学的陈昭炯在分析l 系统表达机制的基础上,探讨了l 系统代码的 设计方法,并给出了具体的模拟实例l lo 】。他在设计l 系统代码时,既保留 了l 系统原有的优点,又改进了其形态呆板的不足,对竹子的形态进行了 模拟。在模拟过程中运用了参数l 系统和随机l 系统两种扩展的l 系统, 并结合竹子本身的生长特点设计出了竹子的l 系统代码。2 0 0 4 年,游晓明 和刘升探讨了自然树木的三维生成技术,运用o p e n g l 技术模拟生成了三 维松树【l l 】。他们在程序设计中运用面向对象技术将自然树木算法封装成 类,将树的颜色、高度、树干截面半径、各分树枝的位置和长度等8 个特 征值设置成类的相关属性,并进一步修改其特征值,以逼近现实中的自然 树木。这一算法的实现是在w i n d o w $ 2 0 0 0s e r v e r 平台上,采用b o r l a n dc + + 6 0 ,通过调用o p e n g l ,并结合松树的自然特征值来完成的。 ( 3 ) 枝干弯曲模拟模拟树木枝干的弯曲对于捕捉树木的形态特征是 至关重要的,早在1 9 8 5 年,j u l e sb 就对弯曲的枝条形态进行了模拟。他提 出了参数曲线拟合的方法,即利用参数曲线来拟合通过实际测量所得到的 枝条弯曲形状。该方法虽然能模拟各种枝条弯曲,但需要对枝条的弯曲形 状做大量测量,而且由于植物枝条不断生长变化,其形状不断发生变化, 用此方法不能很好的模拟植物实际生长的过程【1 2 j 。p r u s i n k i e w i c z 给定组成 枝条的各个片段的初始方向向量及整个枝条的趋向性向量,通过计算这两 个向量的乘积来得到每个片断的最终方向向量,从而得到弯曲的枝条。由 于枝条上各片断的弯曲角度是非线性的,人为给定各片断的弯曲角度很难 真实的模拟枝条形状,而且枝条的形状不尽相同,用上述方法不能很好表 现枝条生长的随机性。1 9 9 4 年,f o u r n i e r 提出了生物力学模型,其中用圆 柱体来模拟植物的枝条,对枝条的前半段和后半段设定不同的偏转角度, 模拟了枝条的s 状弯曲。虽然其模拟了更为复杂的形状,但由于参数需要 4 第1 章绪论 人为设定,所以很难真实再现植物形态。1 9 9 5 年,w e b e rj 等人通过对植 物枝条设定两个偏转角度来得到整个枝条的弯曲形状。其对枝条的前半段 和后半段分别设定不同的偏转角度,使枝条的两个部分可以向不同的方向 偏转,模拟了枝条的s 状弯曲。这种方法简单实用,但同样存在人为给定 偏转角度导致效果不够逼真的缺点。2 0 0 0 年,j i r a s e k 等人将f o u r n i e r 提出 的弯曲枝干的生物力学模型和基于l 系统的植物生长模型相结合,模拟了 重力以及障碍物存在对于植物形态的影响【1 3 】。j i r a s e k 还设计了枝条生长的 生物力学模型,模拟了内力所造成的枝条弯曲。在其设计的生物力学模型 中,所产生的旋转都被假设为是无穷小的,这使得他的模拟具有一定的局 限性,不能很好的模拟分枝点。2 0 0 1 年,p r u s i n k i e w i c z 和r a d o s l a w 等人 在植物模拟中加入位置信剧1 4 】,他们将植物的姿态以及特征的渐变变量等 元素结合起来,通过对植物整体形态的控制和支持交互的模拟过程使得最 终算法增强了植物模型的视觉上的真实性。他们的建模环境采用了基于l 系统的植物模拟软件l s t u d i o 和c p 龟语言。为了更方便的用位置信息来定 义植物固有的倾斜度,他们将印龟语言进行了扩展,模拟出了弯曲的枝干 等植物的形态。同年,赵星等人从计算机图形学的角度出发,用悬臂梁表 示枝条,实现了基于双尺度自动机模型的枝条弯曲生成算法【1 5 1 。这种算法 能有效的生成自然逼真的枝条弯曲形状,并且能反映植物在生长过程中枝 条的动态弯曲过程。2 0 0 2 年,f o u r c a u d 用a m a p ( a d v a n e e dm o d e l i n go f a r c h i t e c t u r eo f p l a n t ) 模拟软件设计了一个有限元模型。他应用有限元法,模 拟了树木由于自重产生的弯曲变形,这种方法较好的表现了树木内应力分 布变化与植物生长过程的关系。2 0 0 5 年,j u l i a 在j i r a s e k 生物力学模型的 基础上进行了扩展,更准确的表现了枝干结构的整体形态并模拟了树木在 环境影响下的生长过程,得到了不同生长阶段的真实的树木的形态i l ”。 ( 4 ) 其他研究工作和追求植物模拟的真实感一样,不断提高用计算机 生成植物的速度也是学者们研究的目标之一。2 0 0 2 年,张树兵将基于l 系 统的植物建模方法进行了改进旧。他分析了l 系统代码生成的各阶段图形, 总结出各阶段的图形必然具有分形的特征,依据这个性质将l 系统代码转 换成简单的递归表达式,然后在此基础上编写具有递归结构的程序。递归 5 燕山大学工学硕士学位论文 式生成植物每推进一步就把上一步生成的结果作为分形元,简化了建模的 过程,提高了算法的效率。2 0 0 3 年,赵沁平和王莉莉提出了一种通用的植 物几何建模方法【1 8 】。通常在建立不同形态的植物时要分别为其定义不同的 规则,所以如果我们要对植物的外形进行调整或者建立另一种形态的植物 时,就必须重新实现它的l 系统代码。通用的植物几何建模方法正是针对 植物建模缺乏重用性的特点提出的。该方法对进行规则定义的语言进行抽 象,得到l p l a n t s 语言,借助l e x ( 词法分析程序的生成程序) 和y a c c ( 语法分析生成器) 生成该规则语言的分析器,读入待分析的规则,然后 用分析器对其进行解释,完成替换,最后将得到的字符串用图形解释的方 法进行解释。 1 2 1 2i f s 方法这种法是分形几何中的另一个重要的研究内容,由 h u t c h i n s o n 在1 9 8 1 年提出,b a r n s l e y 在1 9 8 5 年针对这个系统提出了一整 套理论,发展了一系列算法规则,作出了大量开创性工作。i f s 系统在物 体建模问题中有很大的优势,特别是在自然景物的计算机模拟生成方面更 为突出。i f s 是以仿射变换为框架,根据几何对象的整体与局部具有自相 似性的结构,将总体形状以一定的概率按不同的仿射变换迭代下去,直至 得到满意的分形图形。仿射变换是n 维空间到自身的线性映射,就是对图 形所作的绕原点旋转、平移和比例变换等操作。利用i f s 生成植物图像的 方法是对初始植物图像按照已知概率选择函数而实施的一种迭代变换【i9 】。 1 9 8 5 年,b a r n s l e y 和d e m k o 首先应用i f s 方法生成了自相似性极强的蕨类 植物叶片。随后。b a r n s l e y 等人又发展了“再现迭代函数系统”方法。这 种方法使自相似性在植物生成方面更为灵活,可以用来表现植物局部之间 的不同的自相似性。在1 9 9 1 年,p r u s i n k i e w i e e 等人提出了“语言约束式迭 代函数系统”方法。这种方法通过加入了交换顺序的约束条件可以对各类 不同的i f s 方法进行通用的概括。 1 2 1 3d l a 模型d l a 模型是美国科学家w i t t e n 和s a n d e r 于1 9 8 1 年提 出的。其基本方法是首先在像素空间定义一个闭区域,在其中取一个点作 为种子,然后在这个区域内随机产生一个像素点并让它沿上下左右的方向 随机行走,如果该像素点在行走过程中与种子相碰就凝聚到种子上,如果 6 第1 章绪论 该像素点走到边界上就被边界吸收,这个过程将重复进行。结果是以种子 为中心形成一个不断增长的凝聚集团,利用d l a 或其修改模型可以对部 分植物的形态结构进行计算机模拟,如模拟植物根系的生长过程和海藻类 植物的形态结构等唧l 。 1 2 2 基于粒子系统的建模方法 粒子系统是一种随机建模的图形生成算法。最早是在1 9 8 3 年,r e e v e s 首次提出了粒子系统( p a r t i c l es y s t e m ) 的概念以及粒子系统的绘制算法。其 所提出的粒子系统的基本思想是用大量具有一定生命的形状简单的微小粒 子图元作为基本元素来描述自然界中存在的不规则模糊景物,例如云、烟、 火焰等等。每个粒子在任何一个时刻都具有随机的形状、大小、颜色、透 明度、运动方向和运动速度等诸多属性,并且随着时间的推移而发生位置、 形态的变化。粒子系统中的每个粒子的属性和运动学性质均由一组预先定 义的随机过程来说明。系统内的粒子都要经历产生、运动和死亡三个阶段。 这三个阶段的发生形成了景物的动态变化。上述方法不适合模拟单个植物 的形态结构,但是可以很好的模拟大片的植物。后来r e e v e s 又在粒子系统 的基础上提出了结构化粒子系统,将粒子系统用于森林、草地等自然环境 的模拟中。在结构化粒子系统中,粒子与粒子之间存在着一定的联系,系 统中的各个粒子互相制约,互相牵引,从而成为一个整体。但是用这种方 法模拟出的景物具有明显的人工痕迹,缺乏真实感。随着研究的深入,2 0 0 2 年,b e n e s 和m i l l a n 在前人的基础上提出了一个新的思想,即用能感知环 境的有向粒子来模拟植物对于空间的竞争,使粒子系统在树木模拟方面有 了进一步的发展1 2 ”。 1 2 3 参考轴技术 参考轴技术是由法国农业发展国际合作中心的d er e f f y e 等人提出的。 参考轴技术是一种模拟植物生长的典型的随机过程方法,又被称为自动机 模型。这种方法使用马尔柯夫链理论和状态转换图来描述植物生长、发育、 休眠以及死亡等过程。该模型能很好的模拟植物轴上分生组织的一系列活 7 燕山大学工学硕士学位论文 动,已经成功的应用于一种著名的植物生长模拟软件a m a p 中。在此基础 上,c o d i n 等人又提出了多尺度意义下的植物拓扑结构模型,该模型能够 以不同时间尺度来描述植物的拓扑结构。这种方法的物理意义明确,数据 输入简单,具有一定的优势。2 0 0 1 年,在参考轴技术的基础上,赵星提出 了双尺度自动机模型,这种方法以更为简便的图形方式来模拟真实植物的 生长过程。双尺度自动机模型根据植物的生理年龄来组合植物生长参数, 包含微状态和宏状态两种尺度的状态,这两种尺度的状态是由植物的生长 规律来决定的。该模型通过微状态和宏状态的组合循环来模拟植物的生长 过程。双尺度自动机模型易于理解和使用,能简洁直观的模拟植物生长过 程中形态结构的动态发展【2 2 1 。2 0 0 2 年,d er e f f y e 等人继续双尺度自动机 模型的研究,提出了一种更为快速的算法,此算法结合了几何规则来建立 微结构库,可以快速的计算植物的生长,并用三维植物器官来生成三维虚 拟植物,可以用来模拟很多植物种类脚】。 1 2 4 其他建模方法 1 9 8 4 年,a n o n 研究了h o n d a 设计的模型,并在其基础上提出了a 系 统。他在a 系统中提出了四种几何结构模型。a 系统通过设定分枝角度按 照一定的统计规律随机变化,并结合了植物的实际分支结构特征,形象的 模拟了多种植物的形态。他还应用吸引子算法模拟了环境因素对于植物形 态的影响。 1 9 8 9 年,g r e e n e 提出了体元素空间法。体元素空间法就是把三维空间 分割成相同的立方体单元,将处于三维空间中的植物用体元素近似表示。 用这种方法可以通过检测植物与障碍物之间的碰撞来模拟植物沿着墙壁等 障碍物生长的现象。 1 3 植物运动模拟的国内外研究现状 1 9 9 7 年,s t a m 对树木枝条的运动进行了研究,模拟了在湍流风场中 树木枝条的运动。他对作用在树木枝条上的风力进行了描述。他的风力表 8 第1 苹绪论 达式与空气密度、枝条半径以及风的速率相关。除了正式的风场外,s t a m 还在树木枝条上加入一个具有随机性的力,设计了随机的风场模型【2 4 1 ,并 采用有限元模态分析的方法来计算枝条的白振频率,从而模拟树木枝条的 不规则小幅摆动。1 9 9 7 年,j o n e s 等人采用l 系统作为构造树木模型的方 法,并基于数据场结构计算风力的衰减,根据过程变形模型计算树枝的变 形。1 9 9 9 年,o h y a 提出了一种新的树木建模和运动模拟方法【2 5 】。在他的 方法中树木的三维模型被描述为一系列的相互联结的枝条片断,树叶的模 型由树叶和枝条末梢组成,依附在树枝上。为了模拟树木在外力作用下的 运动,他把树枝看作是一端固定、另一端可自由运动的刚性杆,对每一个 枝条运动进行独立计算。这种方法可以用于多种树木,并能成功的模拟树 木在外力( 如风力、人作用于树枝的力) 作用下的运动。2 0 0 1 年,g i a c o m o 结合了基于过程和基于物理两种方法来实现树的动画,并且只有在近距离 观察树时才使用计算量较大的后者 2 6 1 。2 0 0 2 年,h u if a n g 将基于过程和基 于物理两种方法相结合,模拟了树木枝条和树叶在风中的运动【2 7 1 。他将树 枝的运动简化为简谐振动,在此基础上,提出了风力表达式。模拟了树木 的运动效果。h u if a n g 提出的风场模型和枝条模型较为简单,模拟的过程 是随机获得的。他的这种方法适用于大型的多用户虚拟环境。2 0 0 3 年,o h y a 提出了一个新的快速有效的方法来模拟三维树木在风中的运动 2 9 l ,他的这 一方法使得模拟更好的满足了实时性的要求。k o n d o 在树木运动的实时性 方面也作了一些工作。他为树木的生成模拟和树木的运动模拟提出了两个 加速技术,一个是基于g p u ( g r a p h i e sp r o c e s s i n gu n i t ) 的技术,另一个是仅 使用c p u ( c o m p u t e rp r o c e s s i n gu n i o ,但是加入了一些l o d ( 1 e v e lo f d e t a i l ) 技术。同年,柳有权等人用从树木照片中抽取树木支架轮廓的方法对树木 进行三维建模,他们将风力分解为拖曳力和升力两个分量,采用有限元分 析中的梁单元来计算树木的骨架在风力作用下的变形和振动。在模拟过程 中采用基于物理的变形计算,在绘制过程中利用基于硬件的绘制技术和细 节层次化技术以进行更为快速和真实的图像生成。这种方法能以较快的速 度真实感的生成树木在风中的自然摇曳效果。冯金辉等人根据树木结构的 物理特性,把树木枝条分为三种:固定枝条、可动枝条以及波动枝条。固 9 燕山大学工学硕士学位论文 定枝条不作处理,可动枝条的运动采用现代非线性力学理论来解决,而波 动枝条的解决则是基于波动理论。他们还设计了阵风的风场模型和稳定风 风场模型,并将这两种风场模型分别作用于树木的三维模型上,同时基于 o p e n g l 图形库函数制作出了树木运动的计算机动画实例,模拟了柳树在 风中的运动效果。 1 4 课题研究内容及预期目标 本文在广泛调研和对大量中外文献分析的基础上,针对本文的研究问 题,主要完成以下几个方面的研究工作及预期目标。 ( 1 ) 枝条弯曲模拟算法的改进通过对l 系统的基本理论以及树木枝 条的受力情况的研究,改进树木枝条的生物力学模型,在此基础上将材料 力学中弹性杆件模型的受力分析方法应用于基于l 系统的植物模拟算法 中,分析重力与趋向性对于枝条形状的影响,模拟在重力与趋向性共同作 用下树木枝条弯曲的形状。 ( 2 ) 树木枝条在风场中运动的模拟分析树木枝条的在风场作用下的 受力情况,对作用于枝条上的阵风风力、轴向衰减力和复原力进行分析与 描述,将上述的三种力相结合组成更为复杂和全面的风场模型。在此基础 上通过研究枝条的动力学模型,将上述风场模型作用于树木枝条,通过计 算得到树木枝条的运动。 ( 3 ) 树木枝条弯曲模拟和树木枝条运动算法的实现总结l 系统的基 本理论与文法表述,分析树木模拟的生成机制,在了解松树的生理结构特 征的基础上,将l 系统与扩展l 系统相结合,设计三维松树的l 系统代码, 并将改进的枝条弯曲模拟算法运用于其中,用植物模拟软件l s t u d i o 实现 枝条弯曲形态自然的松树三维模型,并对改进的算法进行验证。对于树木 枝条在阵风风场中运动算法的模拟是通过采用双缓冲技术,运用v c + + 结 合o p c n g l 来实现,模拟出一根树木枝条在阵风风力、轴向衰减力和复原 力组成的风场模型中一个风力周期的运动效果,并通过比较验证本文算法 的真实性。 1 0 第1 章绪论 1 5 论文结构 全文共分5 章。各章结构及各章内容介绍如下。 第l 章为绪论主要综述了课题的国内外研究现状,指出了存在的问题。 对本文的研究背景、研究内容和研究方法进行了概述,反应了本课题的科 学意义和实用价值。 第2 章提出了改进的枝条弯曲模拟算法,对目前的枝条弯曲模拟算法 进行了分析,在分析树木枝条生物力学模型的基础上,对枝条进行离散化 处理,将材料力学中弹性杆件的受力模型引入到基于l 系统的枝条弯曲模 拟算法中,通过分析重力与趋向性对于枝条形状的影响,模拟了重力与趋 向性对于枝条形状的作用。 第3 章研究了作用于树木枝条的风场模型,对枝条的动力学模型进行 了分析,研究并表述了作用于枝条上的阵风风力、轴向衰减力以及复原力, 将阵风、轴向衰减力和复原力组合成更为复杂、完备的风场模型。通过对 树木枝条运动的计算,将改进后的风场模型作用于树木枝条之上,模拟枝 条在风中的运动。 第4 章首先介绍了l 系统的基本理论和文法描述,然后分析了树木的 生理结构,总结了有主干树木和无主干树木的l 系统的表达机制,并描述 了上述两种树木的基于l 系统的生成算法,实现了基于l 系统的三维树木 结构的构造算法。 第5 章对枝条弯曲和运动的模拟算法进行了实现和分析。采用植物模 拟软件l s t u d i o 实现了弯曲枝条的形态和松树的三维模型,将枝条弯曲模 拟算法作用于松树的三维模型上,模拟了枝条弯曲自然的松树形态。并通 过与与其他枝条弯曲模拟算法进行比较,验证算法的真实性。树木枝条在 风场中运动的效果模拟是将风场模型作用于树木枝条,计算得到枝条每一 时刻的形态,通过v c + + 结合o p e n g l ,运用o p e n g l 的求值器机制对每一 时刻枝条的形态进行绘制,然后采用双缓冲技术实现动画效果,模拟出在 更为完备和复杂的风场模型作用下树木枝条的运动效果,并对模拟的效果 进行了分析。 l l 燕山大学工学硕士学位论文 最后通过结论对所做工作进行归纳和总结,并对该领域今后的工作进 行了展望。 1 2 第2 章树木枝条弯曲模拟算法的改进 第2 章树木枝条弯曲模拟算法的改进 随着科技的发展植物模拟技术广泛应用于商业、娱乐、教育、生物研 究等多个领域,对于植物模拟的真实性人们也提出了更高的要求逼真再 现植物的形态离不开枝条弯曲形态的模拟,模拟植物枝条的自然弯曲形态 是直观形象的再现植物形态的重要内容。 2 1基于l 系统的枝条弯曲模拟算法分析 2 1 1基于双尺度自动机模型的枝条弯曲算法 2 0 0 1 年,赵星等人提出了基于双尺度自动机模型的枝条弯曲算法,他 们用悬臂梁表示枝条,实现了对于树木枝条弯曲形态的模拟。该算法引入 下述公式。 窘卸伽c o 岛( - s i n 回 s i n e o ( _ c o s o ) ( 2 - 1 ) 公式( 2 1 ) 表述了梁上任意一点的力学关系,并通过对上式两边进行积 分得到梁弯曲后的曲线形状为: ( 2 2 ) 进而得到该点受力弯曲后与垂直方向的夹角为: 8 s = i k o i c o s ( e + e 0 ) - c o s ( a + 0 0 ) d s ( 2 - 3 ) 0 式中悬臂梁相对于初始方向的偏转角a 是隐式表达,不容易直接求得,需 要通过迭代夹逼的方法来对其进行计算。对于枝条的s 状弯曲形态的模拟 是通过设定枝条上拐点的位置,然后将旋转角反转的方法来实现的。模拟 1 3 燕山大学工学硕士学位论文 效果如图2 - 1 。 图2 1基于双尺度自动机的枝条弯曲模拟 f i g 2 - 1s i m u l a t i o no f b e n d i n gb r a n c h e sb a s e do nd u a l s c a l ea u t o m a t o nm o d e l 上述算法能有效的生成枝条弯曲形状,并且能反映植物在生长过程中 枝条的动态弯曲过程,但是引入的公式较为复杂,为计算和实现带来了一 定的困难,在模拟枝条的s 状弯曲时通过人为设定拐点,不能很好的表现 自然的枝条弯曲形态。 2 1 2 基于l 系统的简单枝条弯曲算法 基于l 系统的简单的植物枝条弯曲形态的模拟可以采用基于龟解释的 植物枝条弯曲模拟算法来实现,这种方法是在2 0 0 0 年由p r u s i n k i e w i c z 和 m u e n d e r m a n n 提出的。枝干的弯曲被定义成一系列的无穷小的龟的运动。 s 代表起始位置到当前点的弧的长度,设枝干上的任意两个相邻点分别为 p l 和i 2 ,一。、脬,和i 分别代表当前点绕u 、l 、h 轴的旋转率,因为点 p l 和p 2 是相邻的,因此其间的距离是一个无穷小量凼,所以两点间的旋 转角度也是一个无穷小量,可表示为d f 2 u 、d 9 2 h 和d q l ,其值可以通过下面 的公式得到: 锄“= 玩d s ,d d h = n h d s ,d d 2 = n l d s( 2 - 4 ) 本文将无穷小增量出用有限增量出来代替,就得到了下面的扩展l 1 4 第2 章树木枝条弯曲模拟算法的改进 系统的代码: # d e f i n ea st # d e f i n e 吼n 1 # d e f i n en l n 2 # d e f i n en hn 3 a x i o m :a ( i ,) p l :a ( 1 ,) f u ) 【曰( o ,) 】,( f ) d ( o ,) 】 p 2 :b ( ,) :, n ) 执行函数l s ,生成分形元; e l s e 执行d r a w ( r u l e ,加) ; e l s e 执行l s ( s t r ) ; s t e p 3 :l = 1 + 1 ; s t e p 4 :回到s t e p2 继续向下执行,直至参数,的值大于s t r 的长度。 3 8 第4 章基于l 系统的三维树木模拟 上述算法根据l 系统模拟植物的特点,描述了基于l 系统的树木拓扑 结构的生成,主要是通过迭代替换的方法由下向上逐级生成分形元。利用 该算法可以很好的模拟灌木等无主干树木,也可以用来模拟藻类等低等植 物和一些分形图形。 4 4 2 有主干树木生成算法描述 由4 3 节介绍的l 系统的树木表达机制可知,无主干的植物和有主干 的树木在基于l 系统的表达机制上存在着差异,所以模拟两者的算法描述 也不尽相同。有主干树木( 以三叉树为例) 的算法包括两个主要函数,第一 个函数进行判断工作,对l 系统中的字符串在判断的基础上进行

温馨提示

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

评论

0/150

提交评论