论文摘要
树木在自然景物的构成中占有相当重要的地位。在相当长的一段时间内,人们投入了大量的精力研究树木的造型和绘制算法。尽管有许多成功的工作,但在影视、广告、游戏、虚拟现实等领域纹理映射仍然是创建树木的主要手段,而对树木动态模拟的研究却很少有人涉及。因此,本文作为一个尝试,对树木的动态模拟进行了研究。首先,在基于噪音理论和空气动力学的基础上,建立了风速数学模型,然后通过空气动力学中根据速度来计算力的公式来计算作用在物体上的风力,并对噪音技术做了简单的介绍,噪音技术在树的动态模拟中起着重要的作用,利用噪音技术能使模拟的动态效果更加真实。其次,通过比较和讨论已有参考文献中介绍的植物建模方法,采用了L系统建立了树的整体模型。在建模过程中,利用双向链表来存储树模型的控制点数据,然后采用数据结构中深度优先遍历方法,遍历出树模型中每段树枝。在获取了每段树枝数据的基础上,采用了求解微分方程和计算直线旋转角度两种方法来研究树枝运动。最后,分析了树叶运动。树叶运动包括树叶没有下落时的运动,以及树叶下落运动。树叶没有下落时,树叶随树枝运动的同时,树叶的叶面绕着叶柄做旋转运动;树叶下落运动采用经典牛顿力学来求解。本课题以VC++6.0和OpenGL为开发工具,实现了树随风动的模拟系统。实验表明,该方法是有效的,仿真结果是真实的。