论文部分内容阅读
过去数十年中,柔软织物以其所表现出的独特性质,使对其的仿真成为计算机图形学的一个重要领域,基于物理的柔软织物各种运动状态的仿真成为当前的研究热点。由于可以应用于例如影视动画、游戏娱乐、服装设计、网络试衣间、渔船模拟器设计甚至抗渔网缠绕的螺旋桨设计等诸多的场景,产生了构建柔软织物的碰撞及断裂仿真的需求,这一仿真结合诸如PhysX的物理引擎可以高效进行。但是另一方面,PhysX非开源,不能进行对仿真随意的拓展以及算法的改进,不利于后续研究的进展。因此本论文旨在对仿真系统中的一部分底层关键技术算法的研究进行最初尝试,再到结合PhysX物理引擎构建柔软织物的剪切及碰撞仿真系统,以便从原理上对其剖析。这些关键技术包括相关建模方法、碰撞检测算法以及切割后的数据结构更新与重组算法,并将本论文具体展开为如下部分:首先,建立柔软织物的模型。本课题在分析基本的质点-弹簧模型并介绍其受力分析后,采用面片级别结合纱线级别的混合质点-弹簧模型构建柔软织物的力学模型,以便能够较为方便地描述织物切断后的更多细节。此外,为更快速、高效、稳定地解决模型动态位移及织物模型形变,采用Verlet积分结算方法,而非常见的欧拉算法。同时,本文也采用了射线法有效的利用鼠标拾取织物的方法。最后通过实验结果,验证了 verlet积分结算方法相较于简单欧拉结算方法的优越性以及采用射线发利用鼠标拾取织物上的点的可行性。其次,设计柔软织物的断裂过程。在对织物模型进行受力分析后,设定弹簧受力的最大范围,当外作用力超过阈值后,布料模型由此处的弹簧断裂,网格拓扑结构改变,并设计数据结构及拓扑结构的更新及重构算法。再次,设计新型高效的碰撞检测算法。在利用质点弹簧模型建立的柔软织物初始模型的基础上,导入剪刀刚体的3D几何模型,并利用二叉树结构的层次AABB包围体对其封装,使其转化为物理模型,并检测其与柔软织物的碰撞。同时,当柔软织物在碰撞后产生折痕、褶皱时,采用加速的边-边检测方法进行自碰撞的检测。为了证明算法的可行性,最后给出了构建包围盒以及图元相交测试的实验结果,而且为了更直观地显示碰撞效果,还利用PhysX物理引擎构建了刚体碰撞织物实验。最后,整体地完成整个柔软织物碰撞及断裂仿真,即基于PhysX物理引擎搭建柔软织物的碰撞及断裂仿真系统程序,对刚体碰撞柔软织物并剪切的过程进行仿真。首先,将3D剪刀几何模型利用胶囊体封装转化为物理模型,实现其与虚拟环境中织物的碰撞,对柔软织物进行剪切操作,并产生后续的剪切效果和碰撞效果。