论文部分内容阅读
自然景物的模拟一直是计算机图形学中的热门研究课题,其应用范围很广,包括影视广告、实时绘制、3D游戏、装潢设计、虚拟场景等各种领域,以其独特的魅力在信息化社会中占据着重要的位置。然而,大多数自然景物的外形是随机变化的,如:火焰、浪花、河流、瀑布、雨雪、烟雾等,很难用常规的建模方法及模拟技术来描述,因此自然景物的模拟也是具有挑战性的课题。本课题以瀑布场景作为模拟的对象,以粒子系统作为基本建模方法来表现其运动的随机性和动态性特点,并且模拟了粒子与障碍物的碰撞效果。首先,本文对目前国内外通用的流体模拟方法做了概述,对粒子系统和碰撞检测技术在水流模拟上的应用进行了讨论;通过将瀑布水流的属性参数化,建立了一个基于粒子系统和动力学原理的参数化的瀑布水流运动模型,并对粒子的参数特性进行了详细的定义;通过分析瀑布水流粒子系统和通用的层次包围盒技术的特点,提出了加速水粒子与障碍物碰撞检测的方法,该方法基于AABB层次包围盒技术,并且根据水流运动的方向性,剔除了不会发生碰撞的障碍物的边面;利用专业建模软件实现地形及障碍物等静态模型的建模,通过编程读取模型并在场景中绘制出来;使用网格模拟了水面,并通过实时改变网格顶点坐标来实现水面的波动效果;此外还加入了天空、光照和雾化等效果来增加场景的真实感。本文基于Visual C++编程环境及OpenGL标准图形库设计了一个瀑布场景的演示系统,实现了瀑布的动态绘制,其运动和外观效果真实,在普通的PC机上获得了实时的绘制速度。用户可以在调整参数的同时观察到瀑布水流运动的变化,其方法可应用于虚拟场景漫游、3D实时游戏等中。