论文部分内容阅读
逼真地在计算机上实时模拟鱼类的运动一直是图形学领域的一个研究热点,尤其是游戏、电影特效及电子娱乐产品的强力需求推动着这一方向的研究。人们不仅需要形象的真实感,也需要运动的真实感和实时性。而真实的鱼类运动是一个比较复杂的过程,其复杂度往往使得人们难以用一些简单过程来表述。如何发现这些规律并通过计算机来重现真实鱼类的运动成为关键问题。然而一方面图形领域中对于鱼类运动缺乏比较合适的描述和建模,另一方面物理计算的复杂性往往带来性能的严重损失,满足不了许多对时间要求较高的应用领域的需求,因此如何在视觉误差范围内对其计算处理进行加速就显得尤为重要。本文以在普通PC机上真实而又流畅地模拟鱼类运动为研究目标,以图形处理单元(Graphics Processing Unit,GPU)为工具,通过图形硬件的加速处理,试图在保证一定真实感的前提下提高计算效率,从而满足众多应用领域的需求。在计算机仿真动画系统中,运动模拟、碰撞检测和纹理处理是三个关键的技术。本文以虚拟鱼系统为实验平台,对上述技术进行了研究。研究工作着重集中在以下三方面:1.研究基于物理的计算机动画技术,设计了基于通用运动模型和GPU加速轴变形的鱼类运动模拟方法,实现了普通PC上鱼类运动的实时仿真。2.研究变形物体的碰撞检测技术,提出了基于粒子群优化和GPU加速的碰撞检测算法,提高了变形物体碰撞检测的速度。3.研究三维建模中的纹理处理方法和颜色传递算法,提出了一种基于GPU加速的快速颜色传递算法,并使用该算法较方便地生成丰富多彩的鱼类皮肤纹理。本文的主要贡献和创新点在于如下工作:(1)针对传统鱼类运动仿真方法通用性差,处理网格模型时计算量大,很难在普通PC机上实时模拟的问题,设计了基于通用运动模型和GPU加速轴变形的鱼类运动模拟方法。首先在生物力学分析的基础上,对鱼的运动进行模块化分解和参数化处理,设计了通用鱼类运动模型。然后,提出基于GPU加速的网格模型轴变形动画方法,并使用通用运动函数进行轴线变形。与现有的鱼类运动仿真方法相比,该方法具有较好的扩展性,可以方便地模拟不同种类鱼的运动,同时提高了网格模型运动处理的计算速度,实现了在普通PC上鱼类运动的实时模拟。(2)针对变形物体碰撞检测方法计算复杂度高,实时性差的问题,提出了一种基于粒子群优化和GPU加速的变形物体碰撞检测算法。首先实现了基于GPU加速的并行粒子群算法(GPUPSO),通过GPU提高并行粒子群算法的运算速度。然后把空间物体间距离计算转化为两组离散三角面片中最近三角面片对的寻优问题,并使用GPUPSO算法对其进行求解。与传统层次包围盒检测方法相比,该算法速度快,准确性较好,同时可以通过调节参数来平衡碰撞检测速度和精度之间的关系。(3)针对传统的鱼类皮肤纹理处理方法中手工工作量大,自动化程度低,无法适应鱼类皮肤色彩变化的问题,提出了应用快速颜色传递算法的鱼类皮肤纹理生成方法。首先实现了基于GPU加速的图像颜色传递算法,通过GPU提高颜色传递算法处理速度。然后将该方法引入到鱼类皮肤纹理的生成过程中,采取固定纹理结构,改变色彩信息的方法生成彩色鱼类皮肤纹理。与传统纹理处理方法相比,该方法速度快,效果较好,完全程序化的处理过程,为鱼类皮肤颜色随环境和情绪实时变化的程序处理打下了基础。