节点文献
风场中森林的建模与仿真
Modeling and Simulation of Forest in Wind
【作者】 王春华;
【导师】 杨克俭;
【作者基本信息】 武汉理工大学 , 计算机应用技术, 2010, 博士
【摘要】 在计算机图形学领域,动态森林场景的建模与绘制是一个重要的研究课题,它在影视特技、计算机动画、军事仿真、虚拟现实等领域中都有广泛的应用。与此同时,植被形态上的高度复杂性和基于物理模拟的巨大计算开销,使得动态森林场景的模拟也是一个具有挑战性的课题。本文首先介绍了风场中森林建模与仿真的背景和意义,综述了已有的树木建模方法、森林的绘制与优化方法和风场中森林仿真等3方面内容,并对这些方法进行了分析和比较。然后,本文在以下几方面展开了深入研究:基于空间随机点的树木建模方法探讨,基于GPU的树木在风中的物理动画,森林的建模与绘制速度提升策略,风场中森林的仿真等。本文的主要工作和创新点如下:1)应用目前树木建模的主流方法,生成的树木图形规则性强、相似度高,不能很好地体现大自然树木的千姿百态。针对该问题,本文提出一种基于指定树木分枝类型和空间随机点的树木建模算法,通过对空间随机点按一定策略添加、删除和两两连接生成树木图形,并对该算法中涉及参数的用途和设置进行了详细说明。采用迭代而非递归对算法进行了实现,实验证明,该算法能简便地控制树木枝条的稀疏密集和光顺程度,且生成的树木图形克服了相似性过强的不足。2)目前,树木在风中基于物理的动画方法计算开销过大,不适于实时模拟。本文提出一种基于GPU的树木与风场交互实时模拟方法。设计了基于GPU的树木分层结构模型,采用非均匀梁模型推导了挠曲线的表达式,并应用多项式拟合提高表达式的计算效率,运用频谱分析法合成树枝在风中的运动。最后,基于GPU实现了在不同风力、风向下的树木物理动画,达到了实时目标。3)为了提高风场中森林场景真实感,在研究森林中风速衰减原理的基础上,提出并实现了风速衰减系数预计算方案。根据风速衰减原理计算出森林中各树木在不同风向上的风速衰减系数,并将其存储在纹理中,动态仿真时通过顶点采样出各树木的风速衰减系数,用于估算森林中每棵树木所受风力大小。4)为了降低森林场景实时计算开销,提出了2D-VFCA算法和设计了纹理查表法。2D-VFCA算法将传统的三维视景体裁剪转换在二维平面上进行:将世界坐标系中视景体的8个顶点投影到XOZ平面,计算视景体投影形成的最大凸包,通过判断物体包围盒的投影顶点与最大凸包的关系达到裁剪目的。较之传统的视景体剪裁方法,2D-VFCA的裁剪效率得以大幅度提升。针对需要实时计算的复杂函数,设计了纹理查表法,通过削元和函数与纹理的映射,将复杂函数的高计算开销转换为快速的GPU纹理采样,提高了计算速度。5)在以上研究的基础上,构建了风场中阔叶林仿真原型系统,验证了研究成果的正确性和有效性。
【Abstract】 The modeling and rendering of natural scenes is an important research topic, which plays a significant role in computer animation, military simulation, virtual reality, special effect for film and television, etc. Meanwhile, the dynamic nature scenes, especially the simulation of dynamic forest scenes has been a challenging task, mainly due to the high complexity of their structures and the large computational overhead of physics-based simulation.This dissertation firstly introduces the background and significance of forest’s modeling and simulation in wind filed, summarizes the algorithm of trees’modeling, the technique for rendering and optimization of forest, and the simulation of forest in wind field. Then, in-depth research is carried out around forest’s modeling and simulation in wind field, including: trees’modeling algorithm based on random point in specialized space, trees’physical animation in wind based on GPU, the strategies for improving forest’s rendering and forest’s simulation in wind. The main contributions of this dissertation are as follows:1) L-systems, IFS and fractal method are the prevailing modeling methods for trees, but their generated graphs are of strong self-similarity and unable to represent the differences of different trees. Based on the branching type and stochastic space points, a novel modeling method for trees are proposed. This method not only overcome the above shortcoming but also can easily control the braches’smooth level and density. Experiments show that the result graphs are true to nature and the modeling method can be applied to computer animation.2) The present methods used to simulate trees’physical animation in wind cost too much and do not fit for real-time occasions. This dissertation introduces a novel real-time tree animation method that is both significantly faster and more physically plausible than previous methods. Taking physical model of branches as linearly tapered circular beam, its bending effect is analyzed and the expression of its deflection curve is derived. To enhance computational efficiency, a least square fit is performed to the deflection curve equation and then its value is pre-computed to 2D-texture which is accessed by GPU run-time. To balance the load on CPU and GPU, we design a hierarchical tree structure model that transfer all the mechanical analysis and calculation to GPU, meanwhile, avoid to segment a branch to model its deformation behavior. Experiments show that the presented method can be completely real-time, realistically simulate the tree in wind, solving the problem of current method in literature that cannot simulate the physical real-time animation of tree in wind.3) To enhance the reality of forest, pre-calculated wind attenuation coefficient strategy is proposed and implemented after studying the principle of wind speed decay. According to the principle of wind decay, calculate the attenuation coefficient of every tree in different wind direction and then store it in special texture. In real-time simulation, sample every tree’s attenuation coefficient to estimate the value of wind force which determines tree’s movement amplitude.4) To reduce the cost of real-time computation of forest scene, the 2D-VFCA algorithm and texture look-up method are presented. 2D-VFCA completes frustum culling in 2D space unlike traditional view frustum culling in 3D space: Firstly, compute the eight points of view frustum in world coordination. Secondly, adopt improved Melkman algorithm to calculate the largest convex polygon of the projected area of view frustum in XOZ plane. Thirdly, judge whether the projected area of AABB bounding box of every object is in the largest convex polygon, if true, the object is in the view frustum and vice versa. Compared to traditional view frustum culling method, our presented method is four times faster and can be applied to real-time rendering of large scene. For complex multivariate function on GPU, texture look-up method is designed to enhance computational efficiency. Reconstruct the complex multivariate function to several two-variable functions and then map them to different 2D textures. When real-time running, one texture sampling result may act as texture coordinate for another texture and the final result of multivariate function is obtained by last texture sampling. Error analysis and texture setting are addressed in detail to make the proposed method easy to be implemented. Eliminating the high computing overhead of complex multivariate function, the real-time computation of texture look-up method is only concerned with sampling frequency. Consequently, the proposed method can be applied to computation-intensive scenarios. 5) On the basis of above research, prototype system of forest’s simulation in wind is built, which verify the correctness and validity of research results.
【Key words】 Trees; Forests; Wind field; Real-time physical rendering; GPU acceleration;