




已阅读5页,还剩55页未读, 继续免费阅读
(计算机应用技术专业论文)树随风动的计算机模拟研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目 树随风动的计算机模拟研究 专业 计算机应用技术 硕士生 罗胜华 指导教师 李占利 摘要 签名 姒 签名 树木在自然景物的构成中占有相当重要的地位 在相当长的一段时间内 人们投入 了大量的精力研究树木的造型和绘制算法 尽管有许多成功的工作 但在影视 广告 游戏 虚拟现实等领域纹理映射仍然是创建树木的主要手段 而对树木动态模拟的研究 却很少有人涉及 因此 本文作为一个尝试 对树木的动态模拟进行了研究 首先 在基于噪音理论和空气动力学的基础上 建立了风速数学模型 然后通过空 气动力学中根据速度来计算力的公式来计算作用在物体上的风力 并对噪音技术做了简 单的介绍 噪音技术在树的动态模拟中起着重要的作用 利用噪音技术能使模拟的动态 效果更加真实 其次 通过比较和讨论已有参考文献中介绍的植物建模方法 采用了l 系统建立了 树的整体模型 在建模过程中 利用双向链表来存储树模型的控制点数据 然后采用数 据结构中深度优先遍历方法 遍历出树模型中每段树枝 在获取了每段树枝数据的基础 上 采用了求解微分方程和计算直线旋转角度两种方法来研究树枝运动 最后 分析了树叶运动 树叶运动包括树叶没有下落时的运动 以及树叶下落运动 树叶没有下落时 树叶随树枝运动的同时 树叶的叶面绕着叶柄做旋转运动 树叶下落 运动采用经典牛顿力学来求解 本课题以v c 6 0 和o p e n g l 为开发工具 实现了树随风动的模拟系统 实验表明 该方法是有效的 仿真结果是真实的 关键词 动态模拟 树 树叶 o p e n g l 风 真实 研究类型 应用研究 s u b j e e t r e s e a r c ho nt h es i m u l a t i o no ft r e es w a y i n gi nt h ew i n d s p e c i a l t y c o m p u t e ra p p l i c a t i o nt e c h n o l o g y n a m e l u os h e n g h u a i n s t r u c t o r l iz h a n l i a b s t r a c t s i g n a t ur e s i g n a t u r e t r e e sp l a yav e r yi m p o r t a n tr o l ei nt h en a t u r a ls c e n e r yo fl a n d s c a p e o v e ral o n gt i m e m o r ew o r kh a v eb e e nf o c u s e do nm o d e l i n gt h es h a p ea n dt h eg r o w t ho ft h et r e e s a l t h o u g h t h e r ea r em a n ys u c c e s s f u lw o r ki nf i l ma n dt e l e v i s i o n a d v e r t i s i n g g a m e s v i r t u a lr e a l i t y a n do t h e rf i e l d t e x t u r em a p p i n gi ss t i l lt h em o s tc o m m o nt e c h n i q u eu t i l i z e dt o d a yi nc r e a t i n g t r e e s f e wp e o p l eh a v eb e e nc o n d u c t i n gr e s e a r c hw o r ki ns i m u l a t i n gt h ep h y 7 s i c a lm o t i o no f t r e e s a n da l l o wt h e mg o i n gn a t u r a l l y 嘶t hw i n d t h e r e f o r e a sa na t t e m p t d y n a m i cs i m u l a t i o n o ft h et r e ei nt h ew i n dw a ss t u d i e d f i r s t l y b a s e do nas t o c h a s t i cm e t h o da n da e r o d y n a m i c sa n a l y s i s w ep r o p o s e daw i n d m o d e la b o u tw i n ds p e e da n dw i n df o r c e a n dm a k et h ed e t a i l e dp r e s e n t a t i o na b o u tt h en o i s e t e c h n i q u e n o i s ep l a y sa l li m p o r t a n tr o l ei nt r e e sd y n a m i cs i m u l a t i o n u s i n gn o i s et e c h n i q u e c a nm a k et h ed y n a m i ce f f e c t so ft h et r e e ss i m u l a t i o nm o r er e a l s e c o n d l y u s i n gl s y s t e me s t a b l i s h e dt r e em o d e l i nt h ep r o c e s so fm o d e l i n g g e t t i n g t w o w a yl i n k e dl i s tt os t o r ec o n t r o lp o i n td a t ao ft h et r e em o d e l t h e nu s i n gt h ed e p t h f i r s t t r a v e r s a lm e t h o dt ot r a v e r s et h et w o w a yl i n k e dl i s t o nt h eb a s i so fa c q u i s i t i o no fd a t af o r e a c hb r a n c h t ou s et h em e t h o do fs o l v i n gd i f f e r e n t i a le q u a t i o n sa n dc a l c u l a t i n gt h er o t a t i o n a n g l eo f t h el i n et oa n a l y z e dt h em o v e m e n to fb r a n c h e s f i n a l l y t h el e a f sm o v e m e n ti sa n a l y z e d i n c l u d i n gl e a f sm o v e m e n tw i t ht h eb r a n c h s w a y i n ga n dl e a f sf a l l i n g w h e nl e a fn of a l l i n g t h el e a f i sm o v i n ga r o u n dt h em o v e m e n to f t h eb r a n c h m e a n w h i l e t h el e a f sf a c ei sr o t a t i n ga r o u n dt h el e a f sp e t i o l e w h e nl e a ff a l l i n g t h em o v e m e n ti ss o l v i n gb yt h ec l a s s i c a ln e w t o n sm e c h a n i c s b a s e do na b o v er e s e a r c hr e s u l t s t h es y s t e mo ft r e es w a y i n gi nt h ew i n dh a sb e e n d e v e l o p e du s i n gv c 6 0a n do p e n g l e x p e r i m e n t ss h o wt h a tt h em e t h o di se f f e c t i v e a n d t h es i m u l a t i o nr e s u l ti sr e a l i s t i c k e vw o r d s d y n a m i cs i m u l a t i o nt r e el e a fo p e n g lw i n dr e a l i s t i c t h e s i s 妻错技大学 学位论文独创性说明 本人郑重声明 所呈交的学位论文是我个人在导师指导下进行的研究工作 及其取得研究成果 尽我所知 除了文中加以标注和致谢的地方外 论文中不 包含其他人或集体已经公开发表或撰写过的研究成果 也不包含为获得西安科 技大学或其他教育机构的学位或证书所使用过的材料 与我一同工作的同志对 本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意 学位论文作者签名 日期 m f 玉 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定 即 研究生在校攻读学位期 间论文工作的知识产权单位属于西安科技大学 学校有权保留并向国家有关部 门或机构送交论文的复印件和电子版 本人允许论文被查阅和借阅 学校可以 将本学位论文的全部或部分内容编入有关数据库进行检索 可以采用影印 缩 印或扫描等复制手段保存和汇编本学位论文 同时本人保证 毕业后结合学位 论文研究课题再撰写的文章一律注明作者单位为西安科技大学 保密论文待解密后适用本声明 学位论文作者签名 指导教师签名 勿和 伽孚年么月 e l 1 绪论 1 1 选题背景及研究意义 1 1 1 选题背景 1 绪论 始于2 0 世纪6 0 年代末的自然景物计算机模拟 1 2 是一项很有意义的研究工作 也是 计算机图形学领域中最诱人的研究方向之一 目前 国内外关于自然景物模拟的研究的 工作有很多 这都归功于计算机图形学的发展 特别是图形学在真实感图形实时绘制方 面理论的不断完善 真实感绘制的主要任务是模拟真实物体的物理属性 简单的说就是 物体的形状 光学性质 表面的纹理和粗糙程度 以及物体间的相对位置 遮挡关系等 等 绘制的自然景物 包括山 水 云 山脉 树木 海岸线 花卉 草 火 j 州等 绘 制的效果都几乎达到了乱真的程度 如图1 1 就是由清华大学自然景物平台生成的野外 场景 图1 2 是一位游戏编程高手模拟的游戏场景 可以参考他的个人网站 h t t p n w w w a z u r e c o m c n d c f a u l t a s p c a t 8 从两张图片模拟的效果来看 模拟的场景给 人的感觉非常逼真 但是 随着计算机硬件性能的不断提高 硬件的价格也不断下降 再加上计算机图形学的不断发展和完善 人们已经不满足于静态场景的模拟 越来越多 的研究开始集中动态场景的模拟 特别是场景中植物的动态模拟 图1 1 由清华大学自然景物平台生成的野外场景 植物动态模拟的目标主要是为游戏 电影 计算机辅助园林和景观设计 生态环境 预测与可视化 计算机动画和虚拟场景绘制等众多应用领域提供逼真的效果 在众多模 拟研究中 树木模拟尤其树木的动态模拟是尤其重要的 也是比较复杂的 现在大量的 工作来研究如何消除明显的带有人工模拟的场景 从而使计算机模拟出的场景能更加接 西安科技大学硕士学位论文 i i i 一 近真实的自然环境 也取得了很大的成果 但这些研究工作大多都集中在研究静态场景 的模拟方法 图1 2a 刁 r e 个人作品 在人们的印象中 自然环境中 几乎没有树不发生动态变化的 与次同时随着计算 机性能的提高和计算机图形学的发展 人们已不满足模拟的静态场景 逐渐转向于追求 逼真的虚拟场景 特别是在三维游戏开发方面 现在的游戏玩家已经不满足于游戏的生 动情节 而是在生动情节的基础上 追求更加逼真生动的三维游戏场景 所以动态场景 的研究就成为计算机动画研究的方向 尤其是场景中树的动态效果模拟 由于树的结构十分复杂 不同的树种有不同的物理性质 而且不像钢铁等为人们所 熟知的工程材料 因为人们对工程材料已进行了长时间广泛的研究 获得了大量的有用 资料 而木材则缺乏必要的研究 因为对现代工程来讲木材除了可以用作制造家具外别 无用途 对于树的树枝很少有人研究过它 这样在研究树的动态模拟方面可利用的资料 很少 这无疑增加了研究的难度 再加上外界复杂的自然条件影响 给树的动态模拟带 了很大的困难 尽管如此 随着人们对动态场景模拟研究的关注 及图形学的不断发展 相信在不久的将来 人们可以坐在屏幕前尽情享受由计算机生成的树在风中摇曳的景 象 更进一步 结合其它自然景物 云 火焰等 及真实感图形的生成技术 人们可以在 计算机上任意模拟自然景物 拍摄外景这一概念将在影视领域不复存在 1 1 2 研究的意义 树木的动态模拟在三维游戏开发 影视动画 园林规划 广告 虚拟现实等方面有 着广阔的发展前景 在三维游戏开发方面 树木模拟在游戏场景中已成为必不可少的重要部分 早期的 计算机游戏中由于受到计算机硬件性能的限制 模拟真实生动的树的效果是很困难的 特别是早期讲究故事情节的游戏中 场景中的树木模型大多都采用了简单数学模型加贴 图的方法来解决 缺乏真实感 并且效果也不太好 如早期的游戏 传奇 场景中树 2 1 绪论 木的绘制就是采用了简单的贴图方法 模拟的效果带有明显的人工痕迹 然而 随着计算机性能不断提高和计算机图形学的不断发展 游戏开发商开始着重 于研发逼真的游戏场景 如现在比较经典的游戏 魔兽世界 逼真的海水 瀑布 动态 的烟雾 飞翔的动物 生动逼真的树木模型 还有雨雪的模拟 同样的游戏还有 暗黑 破坏神 仙剑奇侠传 天堂 尤其在游戏 仙剑奇侠传 中 树木的绘制简直达到了 登峰造极的地步 游戏中模拟了树木在雨雪天气中的场景 尤其在游戏将要通关的时候 游戏中模拟的竹林场景跟真实竹林相比是有过之而无不及 给你一种身临其境的感觉 唯一让人遗憾的是竹林是静态的 图片1 3 和图片1 4 图1 5 是从游戏中截取的场景图 片 图1 3 和图1 4 是模拟的像乔木一类的植物的场景 如场景中的竹林 灌木 图1 5 是模拟的带有高大树木的场景 图1 3 仙剑奇侠游戏场景截图1 图1 4 仙剑奇侠游戏场景截图2 虽然 目前大多数游戏中的场景达到了非常逼真的效果 但大部分场景仍然是静态 的 动态的很少 到目前为止接触的游戏中只有 波斯王子 和 盟军敢死队 在游戏的场 景中加入了动态的元素 波斯王子 中模拟了窗帘在风中的摇摆 盟军敢死队4 中 模拟出人在急速奔跑中地上溅起的灰尘以及树叶和碎物在风中飘落 都达到了逼真的效 3 西安科技大学硕士学位论文 果 从目前计算机的普遍水平来看 还不能达到玩三维动态场景的游戏的层次 三维动 态场景的游戏也只是处在研究阶段 但我们相信 随着计算机性价比的不断提高 图形 学在自然景物模拟方面理论的不断完善 再加上游戏爱好者对游戏场景要求的不断提 高 三维动态场景的游戏在不远的将来会展示在游戏爱好者的面前 因此 树木的动态 模拟在三维游戏开发中有着广泛的应用前景 乏鸯 一一裹 图1 5 仙剑奇侠游戏场景截图3 在影视动画和广告行业 树的动态模拟为影视制作节省了很多成本 在电影 英雄 中有一段经典的打斗场面 金黄色的树叶从树上飘落下来 在风力的作用下随风飞舞 两个人在飞舞的树叶丛中打斗 这段动画就是借助计算机模拟出来的 同样在电影 东 成西就 中 有一段场面也借助计算机模拟树在强大风力下摇摆的动画 还有电影 天外 飞仙 中也有经典的树叶飘落的场景 在电影的片头中 金黄色的树叶从屏幕上方慢慢 下落 在电影 龙卷风 t w i s t e r 中 利用湍流原理 t u r b u l e n c e 构造了龙卷风场 风力是 如此之大以至于把树连根拔起 天昏地暗飞沙走石 在经典迪斯尼动画电影 虫虫特工 队 中 利用计算机模拟出了树在微风中的动画 在园林规划方面 树木同样扮演着重要的作用 特别是城市仿真系统研究中 对树 木的模拟起到重要的作用 目前 深圳市中心区开发建设办公室开发了一套深圳市仿真 系统 在开发的系统中制作精细到树木 建筑物的窗口 外墙的纹理 花园 草坪等 但是场景中树木仍然是静态的 在场景中加入动态元素也是以后城市仿真系统的研究内 容 1 2 国内外树木动态模拟的研究现状 树木随风摆动 这是在日常生活和自然界中很常见的生动景象 然而利用计算机来 模拟这种情况是一件很复杂的事情 因为在树的动态模拟中 牵涉到的知识很多 包括 空气动力学知识 材料力学 物理学等知识 是一个综合性的研究课题 比如研究树木 4 1 绪论 的动态效果包括研究树在风 雨 雪等环境下的摇曳动画 还有树叶在不同季节的颜色 变化 树叶飘落 树枝的折断等 每一项都是一个复杂的研究课题 例如对风场的研究 就很复杂 目前 风场的数学建模大多都采用了简化的线性模型 或者采用了线性加随 机数的方法来建立风场数学模型 另外 在自然界树的种类有成千上万种 物理性质也比较复杂 而且不像钢铁等为 人们所熟知的工程材料 因为人们对工程材料已进行了长时间广泛的研究 获得了大量 的有用资料 而木材则缺乏必要的研究 因为对现代工程来讲木材除了可以用作制造家 具外别无用途 对于树枝尤其是小枝可以说根本没有人研究过它 所以一些工作必须从 零开始 尽管研究十分复杂 一些学者还是在这方面做了很有价值的研究工作 1 国外w e j c h e r t 和h a 啪锄 5 模拟了树叶在风中的飘舞 通过四种简单流体单元 层流 汇 源以及涡的叠加来设计和控制风的流动 对树叶的受力分析是根据空气动力 学中对飞机的受力分析的原理来分析的 风对树叶在法向施加压力 在切向施加粘性力 树叶运动由经典牛顿理论得到 2 o n o 6 利用递归算法构造整棵树 并利用弹簧质量模型计算树的变形 其湍流风 场是通过p e r l i n 噪声函数生成 3 为了高效地计算风的作用 s a k a g u c t l i f 7 采用数据场的结构来表示树周围的风场 并以此计算风力 采用了公式r 毋 来计算风力 西表示迎风面积 p 是一个常数 表示流体的黏度 矿表示流体速度 并且提出了一种自项向下的方法 从拍摄到的植物 图片中获取树干数据来构造树模型 并且分析了树枝的运动 4 j o n e s 8 等则采用l 系统构造树的结构模型 并基于数据场结构计算风的衰减 根据过程变形模型计算树枝的变形 5 s h i n y a 9 利用随机理论通过积分运算计算树在风中的变形 而s t a r e 1 0 墟过在频 域空间对白噪声进行滤波得到湍流效果 然后再采用有限元模态分析的方法来计算枝条 的自振频率 从而得到风力吹动下枝条的振动效果 6 国内中科院软件所在树的动态模拟方面做了很多重要的研究工作 1 1 1 6 为了实 现复杂树的动画 中科院软件所计算机科学实验室的柳有权 王文成 吴恩华提出基于 图像的方法从真实照片中抽取树的骨架以重建树的三维复杂模型 然后 采用非线性力 学方程组对主要枝干进行积分运算 并对摇摆的枝条采用波动方程来解决 7 同样 中科院软件所计算机科学实验室的博士冯金辉提出的深度优先的数值积 分遍历算法 逼真的模拟了柳树在风中摇摆的计算机动画 对于树的整体运动 他们首 先从主干开始对其进行深度优先遍历 并依据深度优先的规则对可动枝条进行顺序数值 求解 这样 在对树进行深度优先遍历的同时 即可对整棵树进行运动计算 树的动态模拟目前只是停留在研究阶段 到具体的实际应用还有很多的研究工作要 做 现在的研究对象只是一棵树 但在一些实际应用场景中 树木的数量是很多的 这 5 西安科技大学硕士学位论文 就需要研究出效率比较的算法 来实现场景所有植物的动态效果 1 3 本文研究内容及章节安排 本论文是在构建了风场数学模型和获取树模型树枝控制节点数据的基础上 来研究 树在风中摇曳的计算机动态模拟 研究的内容包括 树枝受力发生弯曲的模拟研究 树 叶没下落之前的运动和树叶下落过程中的模拟研究 把研究的内容分成下面的几步来完 成 第一步 建立风场数学模型 建立风场数学模型的方法是在线性数学模型的基础上 给对应的数值加上噪音数据 第二步 构造树模型 利用l 系统来建立树的整体模型 用双向链表来存储树模型 控制点三维坐标数据 然后利用数据结构中的深度优先遍历的算法 遍历树模型的链表 存储结构 得到每段树枝控制点数据 接着介绍了树枝模型 把一段弯曲树枝利用折线 段来模拟 在渲染阶段折线段用圆柱体来代替 第三步 分析树枝运动 利用了材料力学中关于杆受力发生形变的经典理论来分析 树枝的运动 我们采用了两种方法来分析树枝的运动 一种是求解微分方程的方法 来 计算树枝上每个质点受力后的移动位置 另一种是计算杆旋转角度的方法 来计算一整 段树枝中每小段树枝 直线段 的旋转角度 调整每小段树枝之间的相对位置 就得到 整段树枝运动 第四步 分析树叶运动 树叶运动包括树叶没有下落之前的运动和树叶下落的运动 树叶没有下落时 树叶随树枝运动的同时树叶绕叶柄做旋转运动 树叶下落的运动采用 经典牛顿力学来分析求解 第五步 后期的渲染工作 包括树模型中树枝和树叶的纹理贴图 树所处场景中光 照 阴影 天空 地面的渲染 为完成上述工作 本文章节安排如下 第一章绪论 本章简单介绍了国内外树木动态模拟的研究现状 及本课题的选题 背景和意义 第二章风场的数学模型与树建模方法 本章详细介绍建立风速数学模型 风力的 计算方法 噪音技术 以及树整体结构建模 树枝模型 树模型的存储结构和遍历算法 第三章树枝运动分析 本章采用材料力学中关于杆的经典理论来分析树枝的运动 第四章树叶运动分析 本章内容包括树叶建模 树叶没有下落和下落时运动分析 第五章树随风动系统实现 内容包括系统设计流程 碰撞检测 模型和场景渲染 第六章结论 本章对全文的工作进行了总结 并对今后的工作提出展望 6 2 风场的数学模型和建模方法 2 风场的数学模型与树建模方法 要模拟出逼真生动的树动态效果 对树和风场的数学建模的研究就是必要的环节 因为风控制了整个树的动作行为 所以对风场的研究就十分重要 在自然界中 风的行 为是非常复杂的 通常 即使很小的风也存在着旋涡 这给风的模拟带来了很大的困难 但是从计算机动画模拟的角度来看 事实上是不可能精确地模拟风的运动 而这也是没 必要的 因为风力很小的时候旋涡的影响很小 可以忽略 由于风的大小具有不可预知 和随机的特点 我们采用噪音技术来建立风场数学模型 在树动态模拟中 选择建立树模型方法是否合适 直接影响到模拟效果的真实性 同时也影响到树动态绘制的刷新频率 如果建立的模型十分复杂则模拟的动态效果就很 差 并且计算量很大 当然如果建立的模型十分简单 则影响动画的真实感 因此建立 的树模型结构不能太复杂也不能简单 在这部分给出了已有的建模方法i l7 2 2 1 通过比较 这些方法的特点 然后结合要研究的对象来确定树建模方法 2 1 风场数学模型 风在树木的动态模拟中扮演着重要的角色 风是看不到摸不着的东西 在日常生活 中 人们能感觉到风是微风还是强风 但是树的动态模拟中 怎样来把感觉到的风力用 具体数值来表示出来 就需要建立合理而有简单的数学模型 然后 通过建立的数学模 型再结合空气动力学中计算流体的力学公式 来计算作用在物体上的风力 接下来我们 就这个问题做详细介绍 2 1 1 数学建模 由于在自然界中风是一种非常复杂的自然现象 从掌握的文献来看 建立风场的数 学模型可以分成两种 一种线性风场数学模型 另一种是随机风场数学模型 1 线性风场数学模型 线性风场数学模型就是指场中各点风的速度是固定的 不随时间而改变 也就是说 每次我们运行模拟的系统 显示的效果都是一成不变的 目前为止 我们搜索到了两个 关于线性风场的数学模型 w e j c h e r tj 和h a u m a n n d 在基于空气动力学的基础上 模拟了树叶在空中的飘舞 其中构造的风场是在基于流体力学势流叠加原理的基础上建立的 流体力学势流叠加原 理是从简单流体单元出发构造复杂流场 基本流元有四种 平流 u n i f o r m 汇 s i n k 源 s o u r c e 和涡 v o r t e x 平流即各处流动速度大小 方向均不变 类似与物理学中的匀强 电场 7 西安科技大学硕士学位论文 i 蚴 平流汇源涡 其中 源和汇这两种流场 相当物理学中分别由正负两种点电荷产生的电场 源指的是流 体从一点中流出 流函数及速度为 矽 兰三 z v 兰 o v 0 2 1 对于汇正好相反 流体汇集于一点 速度与上式相反 对于涡 流函数及速度为 矽 兰0 1 o 1 口 亡o 1 0 2 2 生活中经常见到的抽烟人吐出的烟圈就是一个涡 各种复杂的流体都可看作是上述流体 单元的叠加 这种方法能模拟出比较真实的物理流场 当然 我们可以在这种数学模型 的基础上增加一些噪音 就能构建更加符合真实生活中的风场数学模型 在国内 中科院软件所计算机科学实验室的冯金辉博士采用一种非常简单的线 性风场数学模型 1 6 1 构造两种风力模型 阵风和稳定风 阵风指的是风力从零开始逐渐 加大 然后再逐渐减弱至零 稳定风是指风力增加至一定程度后保持该强度并存在微小 的摆动 最后风力逐渐减弱至零 公式 2 3 就是他们在研究中建立的风力数学模型 i a t b 0 r t 只 l c d t 一r t r m a x t i m e f 口f b0 t t 2 3 疋 c d s i n f f f 二耐一t i m p i e f t 一t t m i d t i m e f 5 m a x t i m e 在公式中如是时间常量 通过调整常量a b c d e 厂的大小即可得到不同类型 的风力模型 这种模型太过简单 没有考虑到风的随机性 2 随机风场数学模型 上述两种方法构造的风场数学模型都是线性的 不随时间而改变 也就是场中各点 风的速度是固定的 这是一种简单化的情形 实际风场是随时间而改变的 并且存在着 许多不确定性因素 针对此 s h i n y am 和f o u m i e r a 构造了一个随机风场 基本原理是对 风场做快速傅立叶变换 对得到的频谱使用随机数进行扰动 然后进行快速傅立叶反变 换得到随机风场 但是风场的构造以及树叶和树的运动模拟是两个独立的过程 均没考 虑到风与树的相互作用 这是与实际情况不相符 8 2 风场的数学模型和建模方法 通过对已有风场数学模型的分析 再结合风的行为特征 在线性风场的基础上增加 了随机数 采用p e r l i n 噪音技术产生随机数 建立风场数学模型 关于p e r l i n 噪音参考 了网站 h t t p w w w g a m e 7 9 8 c o m h t m l 2 0 0 7 0 4 3 3 7 7 h t m 中篇关于p e r l i n 噪音技术的论 文 建立的数学模型用下面的公式来描述 y v o s i n c o t 口 p e r l i n n o i se t 2 4 通过调整参数 届粥减能得到不同需求的风速场 其中p e r l i n n o i s e t 函数是关 于p e r l i n 噪音技术的 p e r l i n 噪音数据的产生是以时间t 为变量的函数 关于p e r l i n n o i s e 技术在2 1 3 节做详细的描述 图2 1 是在参数玢 2 0 0 p o c a 3 1 4 2 0 0 0 a 5 0 时 统计的一段时间内风速的数据 图2 1 a 一段时i 司内风速曲线图 在参考已有风场数学模型的基础上 借助噪音技术建立了风场的数学模型 从统计 的一段时间内的风速分布曲线图上 可以看到产生的噪音数据分布是比较符合风的特 征 风时大时小 当然 也可以在这个曲线的基础上 再在某个时间段内增加进线性数 学模型 见图2 1 b 在图2 1 b 的时间段 1 5 0 2 6 0 中 加入了线性的风场数学模型 风 速数学模型确定后 然后在空气动力学的基础上 计算出作用在物体上风力 在2 1 2 节中 会详细介绍如何根据建立的风速数学模型 来计算风作用在物体上风力的大小 图2 1 b 一段时间内风速曲线图 9 西安科技大学硕士学位论文 2 1 2 风力计算 如何根据建立的风速数学模型 来计算风作用在物体上的风力大小 我们采用了空 气动力学知识来解决这个问题 根据空气动力掣2 3 1 中对飞机在飞行中 流体对飞机机身 的受力分析研究 可以知道物体在流场中移动时 会受到升力局和乃既压力所产生的 阻力 同理 研究树的动态模拟 就是研究树在风场中的运动规律 因此 就借用了空 气动力学中的公式来计算风力 阻力厅和拖曳力局的计算由公式 2 5 和公式 2 6 来完 成 因此 在风速数学模型基础上 通过公式 2 5 和公式 2 6 就可以计算作用在树枝和树 叶上的风力 1 凡 c d p v2 s 2 5 二 日 c p v 2s 2 6 二 这里 o 为阻力系数 c 为升力系数 s 表示迎风面积 肪为空气密度 y 是风速 关 于参数白和c 参考了文献 2 3 1 中关于飞机机翼的升力和阻力系数的实验数据 分别是 0 0 1 3 和0 7 5 空气密度为2 3 7 1 0 刁g m 3 2 1 3 噪音技术 在程序开发的过程中 往往会遇到利用随机数发生器来产生随机数 来解决物体一 些不可预测性 从而使物体的动作和行为更加自然一些 特别是在分形几何阱j 中 例如 山地地形的模拟 树木造型的模拟 海岸线的模拟 雪花的模拟 云彩的模拟中就是采 用了随机理论 在应用中 随机数的产生是针对各自的需求来选择产生随机数的方法 但大多都是利用编程工具的函数库中的数学函数r a n d o 来产生随机数 利用这种方法输 出的随机数据分布极其不均匀 不能满足一些特定场合的应用 下面就来介绍一种应用 非常广泛的p e r l i n 噪音技术 h t t p w w w g a m e 7 9 8 c o m h t m l 2 0 0 7 0 4 3 3 7 7 h t m p e r l i n 噪音技术用途十分广泛 其结果可以轻易的适合你的需求 如果你观察自然 界中很多事物 你会注意到它们是分形的 它们有很多层次细节 最平常的例子是山峰 轮廓 它包含着高度上的很大变化 山峰 中等变化 丘陵 小的变化 砾石 微小变化 石头 还有片状分布于田间草 海中的波浪 蚂蚁的运动方式 树枝的运动 大理石 的花纹 风 所有这些现象表现出了同一种的大小的变化形式 柏林噪声函数通过直接 添加一定范围内 不同比例的噪声函数来就可以重现这种现象 为了创建一个柏林噪声函数 需要一个噪声函数和一个插值函数 具体的插值算法 有很多 在具体应用中采用余弦插值算法 一个噪声函数需要一个整数作为参数 种子 数 然后根据这个参数进行一些运算返回一个随机数 如果两次都传递同一个参数进 l o 2 风场的数学模型和建模方法 来 它就会产生两次相同的数 这条规律非常重要 否则柏林函数只是生成一堆垃圾 首先来介绍随机数发生器 产生随机数的公式如下 n o i s e d a t a 1 0 一 l l 牛 r 1 宰确1 5 7 3 1 7 8 9 2 2 1 1 3 7 6 3 1 2 5 8 9 0 x 7 f f f f f f f 1 0 7 3 7 4 1 8 2 4 0 1 1 厅叼甜p 胛 2 6 恤7 j a m p l i t u d e p e r s i s t e n c e 公式中 参数f r e q u e n c y 和a m p l i t u d e 的解释用图2 2 来表示 图2 2 中红色的点表示噪 音数据值 a m p l i t u d e 是噪音数据中的最大和最小值范围之间的某个值 波长w a v e l e n g t h 是从一个红点到紧接着的红点之间的距离 i i j a n r u d e 1 厂 一 图2 2 噪晋曲线 p e r l i n 噪音函数的定义就是由不同f r e q u e n c y 和a m p l i t u d e 值的曲线函数叠加而成 见表 2 1 中第一行中的r e s u l t 就是f r e q u e n c y 和a m p l i t u d e 取值分别为 1 1 2 1 4 4 1 1 6 8 1 6 4 1 6 1 2 5 6 3 2 1 1 0 2 4 时不同噪音数据曲线叠加后的输出结果 其中p e r l i n n o i s e 函数的伪代码如下 v o i dp e r l i n n o i s e i n tx x i n tm f r e q u e n c y 2 h a m p l i t u d e p e r s i s t e n c e h n o i s e l x x 幸f r e q u e n c y n 1 n o i s e l 1 3 n o i s e l t e m p l f l o a t 1 0 一 n 1 幸 n l n l 木1 5 7 3 1 7 8 9 2 2 1 1 3 7 6 3 1 2 5 8 9 0 x 7 f f l i t 砷 1 0 7 3 7 4 18 2 4 0 n o i s e d a t a t e m pl 幸a m p l i t u d e v o i dp e r l i n n o i s e i n tx x f o r i n th 0 h o c a t v e s h f r e q u e n c y 2 h a m p l i t u d e p e r s i s t e n c e h n o i s e l x x 幸f r e q u e n c y 西安科技大学硕士学位论文 n 1 n o i s e l 这里v 是系 统的字母表 w v 是一非空单词 称之为公理 若 a 1 3 p 是一生成规则 则简写为 a b 对于任意的伐 v 至少存在一个单词d v 使a p 成立 由上述定义知 字符 串重写系统最后得到一个由特定字母组成的字符串 为使该字符串能描述某种图形 需 要对它进行适当的几何解释 下面例子根据l 系统通过字符重写得出植物的二维结构 给定步长d 和角度增量0 4 5 初始化当前方向为竖直向上 设l 系统g 定义如下 2 风场的数学模型和建模方法 g y w p v f 一 w f f i f 2 ii p 只 e f 字母表v 中的各字符的意义如下 f 为向当前方向移动步长d 为以当前方向左转角 度 作为新的当前方向 为以当前方向右转角度 作为新的当前方向 为当前状态 入栈 存入栈中的信息包括当前位置与方向 为栈顶状态出栈 基于上述规则集p 植物的二维结构的一次推导为 f 一f f f f i f 一f f f f f f 2 1 2 自然界中的物质形态不是固定不变的 而是随机的 世界上没有完全按相同方式生长的 两棵植物 即使是同一种植物 其形态也存在很大差别 如茎的高矮 开花的位置 种 子的形状等 用上述方法得到的图形有些太刻板 跟人的第一感觉就是有明显的人工痕 迹 h t t p j p k c n w p u e d u c n d z j c r e n g o n g z n w e b 2 0 0 4 6 3 0 w e b l t r e e h t m 站中的一篇文 章 在l 系统基础上 引入随机数来使模拟的植物模型更加生动逼真 更加符合现实生 活中植物的特征 随机l 系统的四元组定义为 g 其中v w 定义和三元 组相同 然而这里的p 却是随机的生成规则 兀为函数 且有 f 月 万 p l 2 1 3 j l 下图是网站中的论文 采用随机l 系统生成的植物图形 它是由如下规则生成的 v 一 w f 万 尸i 只 f 一 f 一f f f 2 1 4 万 马 尸2 f f f 一f 石 只 p 3 f 专f f 卜 f f f f 这里7 r p o l 3 贝i l z c e 7 r 俨2 t r p s l 随机l 系统模拟自然界植物的形态随机性 对同 一符号存在几个产生规则 选择哪一个要根据其概率分布 这种概率分布可以根据先验 概率来确定 从文献 2 剐中采用随机l 系统生成的图2 7 来看 利用随机l 系统建立的植物 模型效果很好 模拟出来的植物更加接近真实的事物形态 并且随机l 系统考虑了在植 物的形态生长过程中随机因素的影响 因而丰富了l 系统的表现力 2 1 西安科技大学硕士学位论文 图2 7l 系统生成的植物模型 另 b l 系统定义简洁 结构化程度高 易于实现 通过改变生成规则就能生成不同 类型的植物结构 l 系统以形式语言方法为手段 具有坚实的数学理论基础 但是对于 一些生长高大 结构较为复杂的植物 其l 系统生长规则p 较难提取 模拟效果不够理 想 综合考虑了上述两种比较常用建模方法的优缺点 最终选择了l 系统来建立树的模 型 因为l 系统建立模型的方法比较简单也比较容易控制 只要确定好最初的生成规则 就可以绘制出树的模型 并且利用l 系统生成的树模型在遍历每段树枝的时候非常方 便 但这里有个问题 就是利用上述l 系统建立的是二维植物模型 而本文要研究的是 树三维模型 因此需要在原来l 系统的基础上加以扩展 在这里有两种解决方法 第一 种 根据上述规则生成二维的树模型 然后借助于图形开发库中旋转函数来进行不同角 度的旋转来构造树三维模型 第二种方法是在上述推导的公式中生成规则中增加一个规 则 为当前方向向上旋转的角度 这样就把二维空间转化到三维的空间中 添加 了锑 规则后的g 定义如下 g 缈 w p v f 一 幸 w f 卜f 曩 f 2 1 5 p e 只 f f 奎f 修改后 规则集p 的三维结构的一次推导为 w f 卜f 吖 f 寸f f f 卜 f f f f f 2 1 6 增加一个 表示在当前方向向上旋转角度 这样就把可以二维转化到三维的空间中 为了使树的模型更加真实自然一些 我们把 和 奎 旋转角度的取值限定在一定的 范围之内的随机数 随机数的产生采用了前面介绍的p e r l i n 噪音函数 3 树模型存储结构的遍历 一妒f 0 rj 一妒 rj 善 圹 弘 扩卜j v矿j 4中t 曩口 f 夥扩譬 廿s亨 一 善 一 2 风场的数学模型和建模方法 模拟树的动态效果 就是研究树的树枝运动 因此必须要知道树模型中每段树枝的 数据 而树枝模型是用节点来控制的 在这里就牵涉到怎样从建立的树的初始模型中遍 历出每段树枝 树的初始状态是指风力为零时 各个控制节点的位置 由于利用l 系统 建立的树模型具有天然树的结构特征 因此我们就采用了数据结构中对树的深度优先遍 历的方法来获取每个树枝段的控制点数据 图2 8 树模型侧面图 第一步 利用递归编程方法生成如上图所表示的树的模型 在这里要设置控制递归 的层数 这里以递归三次为例 同时递归次数也就是树枝类型的编号 分别是层 层 和层 层 表示固定树枝既树干 层 表示可动树枝 这里为了简单说明问题 我 们把可动树枝只设了一层 实际可以有好多层 层 表示末端树枝 树叶就分布在这个 编号的树枝上 图中阿拉伯数字1 2 等表示每段直线段的控制节点的编号 图2 9 树模型存储结构图 西安科技大学硕士学位论文 第二步 树模型的存储结构 其中数据结构的说明如下图所表示 用双链表来存储 树模型数据 其中i d 编号是树枝分类号 也是树枝所在模型中的层数 节点编号是节 点在三维坐标下的位置数据 父亲节点和孩子节点分别表示相连接的前后树枝的地址 基于此 设计树的存储结构图 2 7 3 2 3 4 图2 9 第三步 根据建立的存储结构图 采用数据结构中深度优先遍历的算法遍历出每段 树枝 在图2 9 中 以顶点1 作为起始点开始遍历 从顶点l 的邻接链表中选择一个未 遍历过的顶点2 由顶点2 继续进行深度优先法的遍历 每遍历一个顶点 便对这个顶 点做访问标记 直到遍历到已经没有任何邻接的未遍历的顶点8 和顶点9 既到孩子节点 为止 此时回到上一层顶点4 继续搜索未遍历的顶点 直到所有的顶点都遍历过为止 2 2 4 本节小结 本节是开展本课题研究的前提 因为后续章节中的研究都是建立在获取了树模型数 据的基础上进行的 因此 在这节中首先根据常识 对树的树枝进行了归类 把树枝分 成三类 固定枝条 可动枝条和波动枝条 其中波动树枝不作为本次的研究对象 紧接 着 介绍了建树模型的方法l 系统方法和基于植物图像的建模方法 通过比较两种建模 方法的优缺点 选择了l 系统作为本文建立树模型的方法 在树的建模过程中 用链表 来存储树模型的控制点 然后利用深度优先遍历的方法 遍历出每段树枝的控制点 基于以上对树的物理性质的描述 以及树结构建模的研究分析 知道树的性质是如 此的复杂 对其作一些简化是必要的 从计算机动画角度考虑 没必要追求物理上的精 确 只要达到物理上的真实即可 基于此 在开发实现过程中 我们作了如下假定 1 枝条是各向同性的弹性材料 不考虑塑性变形 塑性变形意指变形后不能回到原 始状态 不考虑树枝被风吹断等极端情形 2 枝条的弹性模量 半径 密度在同一枝条内均匀变化 从根部到末端线性减小 而在不同枝条间可以呈阶梯状变化 3 风力均匀的作用于枝条上 每段树枝受到风力的大小与枝条半径 相当于横截面 积 成反比 4 认为树在不受风力时的状态为树的初始状态 不再考虑重力的影响 这样当风 力消失后枝条将凭借自身弹性返回其原始平衡状态 计算时不再有重力参与 5 树叶的叶柄和叶面在同一平面内 运动时平面不发生弯曲和变形 只考虑旋转 运动 6 树叶没有下落的时候不考虑树叶之间的碰撞 但是树叶在下落的过程以及树叶 与地面的碰撞必须考虑 3 树枝运动分析 3 树枝运动分析 模拟树在风中的运动是一件非常复杂的工程 因为要解决很多问题 牵涉到很多知 识 研究树的运动 关键就是研究树枝在力的作用下发生的弯曲运动 3 引 一阵风吹来 在风力为零的条件下树枝恢复到原始状态 以及树叶在风力作用下的运动 树叶下落的 运动 关于树叶的运动在第四部分做详细的介绍 在本部分中就树枝的弯曲运动作详细 描述 3 1 树枝运动的经典理论 树枝的物理结构均为一端生长在其母干上 另一端自由 中间有一定数目的分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人车辆租赁标准合同4篇
- 市物业服务合同范本
- 装修工程服务合同范本
- 团队境内游合同范本
- 租店简易合同范本
- 农村名宿转让合同范本
- 超市耗材购买合同范本
- 车位出售协议合同范本
- 注册工商租房合同范本
- 2025年国家安全月安全知识考试题库及答案解析
- DBJ15 31-2016建筑地基基础设计规范(广东省标准)
- 家庭纠纷房产调解协议书
- 新疆大学机械设计基础
- 第2课《树立科学的世界观》第2框《用科学世界观指导人生发展》-【中职专用】《哲学与人生》同步课堂课件
- 消防材料分类明细表
- 生殖伦理培训课件
- 校本课程《花样跳绳》过程性材料
- GB/T 43232-2023紧固件轴向应力超声测量方法
- 伪装迷彩施工方案
- 剪映:手机短视频制作-配套课件
- 飞蚊症护理的课件
评论
0/150
提交评论