




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于物理仿真的布鲁氏菌营养机构布动画研究
随着计算机科学技术的发展和普及,3d游戏和动画电影已成为21世纪迅速发展的新兴行业。其中,动态模拟在现实世界中的各种角色和场景中起着主导作用。虚拟角色建模是3d游戏和动画电影中的一个重要组成部分。这个模型通常分为骨层、肌肉层、皮肤层和服装层。只有服装层占其工作的80%以上。为了将虚拟角色和场景的真实性所表达出来,布置动图和动画是不可或缺的。自1998年以来,西格玛每年举办一个关于服装技术的主题,以鼓励年轻科学家和科学家一起研究。动画电影在追求“渲染速度”的同时更加强调“真实感”,而3D游戏中的动画在追求“真实感”的同时更加强调交互的“实时性”.为获得细腻、逼真的布料动画效果,需要对其进行高精度建模,以表现丰富的运动细节,但高精度的布料模型通常包含大量图元,导致动画渲染效率降低.而在3D游戏中实时性和交互性是更为关键的要素,“更实时”是游戏开发追求的首要目标.然而,目前的硬件性能和算法设计还很难实现高度真实感且实时交互的布料仿真.现有的3D游戏中,开发人员往往牺牲“真实感”实现“实时性”,使得场景中布料的表现往往与现实世界相去甚远.布料动画主要是在计算机中建立布料的虚拟模型,产生逼真的形变和褶皱,从而实现高度真实感和实时的动态效果.然而,在虚拟世界中所有物体只是计算机内存中一个特定的形式化描述,并不占据任何真实的体积,因此,它们之间很可能错误地共享虚拟空间中的相同位置.碰撞检测和响应就是为避免这种不合理的情形,保持虚拟世界与现实的一致性.碰撞响应在碰撞检测之后执行,其主要作用是针对两个已经发生碰撞的对象采取某种操作,解除它们之间不应该发生的穿透.在布料建模方面,早期由于硬件环境的限制,计算量大的物理建模方法很难实现,因此几何方法因其高效性而得以广泛采用,但该方法通常能够生成布料的某些静态变形状态(如最终悬垂状态),但难以获得一段真实而连贯的复杂变形动画,且表示的褶皱显得不太自然,在布料动画领域的应用受到一定的限制.然而,布料几何模型简单、高效的特点却使它在工业应用领域特别是布料CAD中得到了广泛的应用,随着计算机硬件性能及图形学技术的提高,越来越多的研究者倾向于采用物理方法来模拟布料,将布料视为连续弹性介质(如弹性变形模型、有限元模型等)或由相互作用的非连续粒子组成(如质点-弹簧模型等),其运动可看作各种力的作用的结果.物理方法因其对于布料动态过程极强的表现力而得到广泛关注.近年来有关布料动画建模和仿真技术的研究大多采用物理模型的框架.尽管不同的物理建模方法对于布料的表达方式不尽相同,但大多根据牛顿运动定律计算布料运动的基本形态,并据此进行碰撞检测与响应.针对动力学方程求解和碰撞检测与响应处理的复杂性,许多研究人员对该模型进行改进,在仿真的真实感、稳定性和实时性等方面都取得了很大的进展,但仍存在一系列有待解决的问题.本文将从力学模型的构造、动力学微分方程的求解以及碰撞检测与响应这3个方面出发,系统地总结基于物理仿真的布料动画的基本理论和方法,分析讨论现有布料动画的生成原理、存在的问题和发展趋势.1弹簧对布置结构的影响构建能够表达布料变形特性的力学模型是服饰动画首先要考虑的基础问题.早期由Terzopoulos等人提出的弹性变形模型是一种连续体模型.由于不能解决布料的大变形以及非线性约束问题,该模型只能模拟较为简单的窗帘悬挂、旗帜飘动,并未真正得到推广.另一种连续体模型有限元方法具有很高的真实感但数值求解和碰撞检测的处理相当复杂,计算量太大不能满足实时的要求.实际上,即使利用最为复杂的连续体模型也很难准确地描述布料某些变形行为,如褶皱和屈曲等.从现有文献来看尚未见用有限元方法仿真完整的衣服穿着效果.质点-弹簧模型是一种表示简单、适合表现柔性材料动态的模型,在现有的布料动画中得以广泛应用.对于该模型的研究和改进已有多年的历史,但是,其真实感和实时性的融合性研究进展不大.Provot基于规则四边形网格利用质点-弹簧模型建立柔性布料变形仿真模型,其连接结构如图1所示.其中质点之间通过以下3种类型的弹簧连接:1)结构弹簧也叫拉伸弹簧,如图1(a)所示,为了保持质点间初始状态时的距离,起到固定布料结构的作用;2)剪切弹簧,如图1(b)所示,为了防止布料在自身平面内不真实的扭曲变形而给定的剪切刚性;3)弯曲弹簧,如图1(c)所示,连接经向和纬向间隔相邻质点,使布料在该点处的边缘圆滑.该方法建模直观、计算简单,模拟效率比基于弹性变形模型的方法有明显提高,适合实时动画生成和用户交互,但存在以下两个主要问题:1)通常只能用于生成矩形几何体,表达材料的弯曲和各向异性较为困难;2)“超弹性形变”问题,即在一定条件下的高弹性变形率使得布料表现出像口香糖一样不真实的变形效果.对于其中的各向异性问题,Baraff等人构造了针对任意三角网格的质点-弹簧模型,通过定义拉伸力、剪切力和弯曲力,在算法速度和仿真效果上获得很大的进展,但由于不考虑布料真实的材料特性参数,无法模拟不同材质和风格布料对穿着效果的影响.对于“超弹性形变”问题,Provot采用动态修正粒子的位置以保证弹簧不至于产生过度伸长.然而,当布料局部受力非常大或者“超弹性形变”现象在布料表面大规模出现时,这种方法就显得无能为力.后来的大多数改进方案采用两步走的策略来体现非线性,先用较小的拉伸系数,在动力学微分方程求解后再进行弥补,增加一些约束条件来限制被拉伸的程度.近期Goldenthal等人使用带约束条件的拉格朗日乘数法很好地解决了布料的“超弹性形变”问题.基于物理仿真的布料动画研究也引起国内众多专家学者的重视罗笑南教授的课题组在国内较早开展布料动画研究,做了一系列开创性的工作.钟跃崎等人提出实时渲染的三维布料及服装CAD系统建模方法,获得较为理想的具有真实感的布料悬垂仿真图形.纪峰等人采用补偿力法解决“超弹性形变”问题,对机织布料的变形形态进行模拟.刘卉等人克服了原有模型对服装布料的材料性能表达单一的缺点,考虑了各种力学性能和结构因素对服装外观的影响,实现了较复杂的服装外型.蔡洪斌等人采用简单移动质点位置、松弛迭代的方法建立模型的约束,模型的求解则选用了稳定的Verlet积分法提高仿真速度.清华大学计算机图形学与几何计算研究组在可展曲面建模、动态仿真、柔性加工、服装CAD设计等方面做了一系列具有影响力的工作,为布料动画的研究提供了理论支持.成迟薏等人把描述非刚体运动的半刚性杆相互连接来得到窗帘的模型,取得接近实时的计算速度,而且保证了画面的视觉效果.周川等人针对实时布料动画应用提出快速稳定的求解算法,利用粒子系统的特点将系统线性方程组转化为规模较小的许多子方程,并用灵活快速的迭代框架进行求解,整个数值计算的效率大大提高.朱小龙等人、毛天露等人根据服装动画样本数据中服装与人体发生位置冲突的信息,对服装与人体的运动相关性进行分析,建立支持实时计算且效率可动态控制的服装动画计算模型.叶军涛等人对布料网格上过度拉伸问题展开研究,通过增加约束条件的方法限制被拉伸的程度,显著提高了布料动画的真实感.2解的唯一性、边界值条件以及混合对物理模型建立动力学微分方程之后,需求解常微分方程不断地更新网格节点的位置.由微分方程理论可知,解的唯一性并非仅由方程本身确定,还需要引入边界值条件进行约束,进而也会导致不同的求解方法.总的来说可归结为4类:显式数值积分方法、隐式数值积分方法、半隐式数值积分方法和混合积分方法.2.1积分步长的影响显式数值积分采用差商代替微商的近似方法来进行数值计算,具有较低的计算复杂度.为了保证模拟过程的数值稳定性,通常采用小积分步长或者降低弹簧刚度的方法.布料动画中取小的积分步长意味着获得单位时间长度动画所需计算次数会大大增加;而另一方面,取小的弹簧刚度则会形成布料的“超弹性形变”现象,导致模拟结果的真实感明显降低.2.2逆矩阵估计算隐式数值积分认为质点的位置关系是有联系的,这些质点作为一个系统在同一个时间步长内同时求解.Baraff等人在不降低刚度的条件下取得较大的积分步长,减少迭代次数,保证系统的稳定性.然而隐式方法的实现涉及求解巨型稀疏线性方程组,计算复杂性和计算量远远超过同阶显式方法,并需对系统及算法所需的状态进行存储,对计算机的硬件性能要求很高.为此,Desbrun等人提出逆矩阵预计算的策略,有效避免了线性方程组的求解过程,提高了系统的稳定性.Volino等人提出了修正的隐式中点方法,在不显著增加计算复杂性的条件下提高模拟精度,但需要系统分配额外的存储空间保存上一步的模拟状态.从数值方法的理论可知,隐式方法比显式方法能使系统具有高得多的稳定性,同时能快速趋于平衡.但是,从模拟精度来看,隐式积分方法引入了较多的近似,由此造成的过度阻尼问题会严重影响模拟质量.Kang等人进一步将力导数的计算精确化,通过判断当前弹簧拉伸和压缩的状态分别选用不同计算式,在保证系统稳定和不显著增加计算量的情况下有效地改善原有算法的模拟质量.2.3半隐式baraffBaraff等人引入半隐式积分方法结合共轭梯度法来求解动力学微分方程.Desbrun等人将弹簧力分解为线性和非线性部分,线性方程组的系数矩阵变为一个恒矩阵,可以提前计算出其逆矩阵并直接求出方程组的解.与Baraff的方法相比该算法的效率很高.Choi等人将Baraff的半隐式框架应用到质点-弹簧系统中,获得在较大的积分步长下高度的真实感和稳定性.Oh等人引入人为内阻尼力,有效解决了半隐式方法求解造成的过度阻尼问题,但该力在增强系统稳定性的同时却极大地破坏了模拟的真实感.由于该方法每个积分步内都需要求解一个规模庞大的线性方程组,导致单步计算开销很大.使得布料非线性变形的误差非常大,而且布料表面褶皱的生成大量减少.2.4混合积分方法引入混合积分方法的主要目的是结合显式和隐式方法各自的优势,在保证系统稳定的前提下提高计算效率,为此需要将微分方程分解为刚性和非刚性两部分,其中刚性部分用比较耗时的隐式方法来处理,而非刚性部分则采用快速的显式积分.Eberhardt等人将混合积分方法应用到布料模拟的动力学常微分方程求解.该方法比Desbrun的预计算逆矩阵策略稍快,但仍然无法对大规模的质点-弹簧系统进行实时模拟.Meyer等人采用混合积分方法,对基于物理的模型进行优化计算,实现了快速的碰撞检测和响应.Bridson等人、Hauth等人、Boxerman等人以牺牲一点稳定性为代价来提高效率.陈旿等人通过采用预条件共轭梯度法进行数值积分,把解线性方程组简化为代数运算,提高了计算速度.聂卉等人将质点受力分为两部分,线性部分采用近似的隐式积分求解,非线性部分则采用显式解法,有效解决了布料仿真中的刚性问题.叶军涛等人提出加快数值计算的算法,预处理子是通过原始矩阵去掉几个次对角线得到的,该方法将微分方程分离成线性和非线性两部分,分别用显式和隐式方法来求解,从而能相应减少计算量.3仿真方法的选择碰撞检测和响应处理是布料仿真的关键和难点问题,其解决方法的优劣直接影响到布料仿真的实时性和精确性.对于一般虚拟物体的碰撞检测和响应的研究已取得了很大进步,但对于布料而言,这些碰撞检测和响应方法大多不再适用.3.1仿真的有效性问题目前,相关研究工作的重点主要放在包围体类型的选择、层次树的构造和更新、碰撞遍历查询方式以及对自碰撞问题处理的适应性等几个方面.由于层次结构频繁更新,在所有的包围体类型中,k-DOP方法在紧密性、检测速度和检测精度方面都具有较高的性能,而AABB法则在检测速度和适用范围方面略胜一筹.另外,四叉树或者八叉树的结构在整体性能上优于二叉树.叶军涛等人在文献基础上对其进行优化改进,设计了基于八叉树的算法,检测效率有了一些提高.Jain等人对碰撞检测算法延伸至多分辨率碰撞处理取得了成功,但没有考虑力学特性的仿真.Volino和Magnenat-Thalmann采用统计方法来决定需要纠正的布料位置,仿真的效率和真实感有待提高.Volino等人提出用相交轮廓最小化方法解决表面碰撞问题,提高了处理相交的速度,但结果仍不够理想,布料表面之间仍然存在少许相交情况.Wicke等人提出了一种无历史的布料碰撞处理算法,使用全局相交分析(GIA)方法解决了有边界的布料相交问题.但对于一些比较复杂的相交情况,该算法会导致奇怪的伸展行为发生而大大影响真实感.Huh等人研究快速运动的布料碰撞问题,解决了布料在快速运动过程中的聚块问题,实现了真实感更高、运动状态更加自然的布料动画,实时性还有待提高.Tang等人提出法向锥和孤集的方法减少相邻三角片间不必要的判断,提高计算效率.Harmon等人提出了不同于刚性作用区域的新方法,试图将所有的碰撞在单一循环内全部解决,他们的工作为该问题的解决提供了一个全新的思路.该研究作为对Bridson等人工作的改进,大大提高了算法的鲁棒性.随后的研究更多地考虑物理意义,将各个三角片近似看作刚体,通过动量或冲量计算得到新的碰撞速度和位置.在自碰撞处理方面,Provot认为在一个曲面小区域中,如果曲率足够小则在这块区域内不会发生布料自碰撞现象;当夹角超过预设阈值时才可能会发生碰撞.Baraff针对布料的自碰撞问题,提出了新的全局交叉分析解决方案.只需对每种情况进行处理就可将布料交叉的错误纠正过来.但是当布料的分辨率不够高时会出现错误.最近,Schvartzman等人在Volino和Magnenat-Thalmann工作的基础上,针对自碰撞检测提出一种新的层次化数据结构和算法,实现了高效的自碰撞检测.3.2基于gpu的碰撞检测经过该领域众多学者的努力,碰撞检测和响应技术的准确性和稳定性得到了极大的提高.然而由于该问题本身的复杂性,算法往往难以做到实时计算,使得碰撞处理成为影响现有布料动画系统效率的瓶颈.因此,很多的研究工作集中在简化处理和加速技术上.Kang等人采用一些简化的碰撞技术,计算速度相当快,但是自碰撞检测和处理则不尽人意.基于图像空间的碰撞检测算法实现比较简单,随着图形硬件的飞速发展,众多学者开始考虑将碰撞检测转移到GPU上进行.Govindaraju等人提出的CULLIDE算法是利用GPU的遮挡查询功能,在线性时间内实现碰撞检测.随后在SIGGRAPH2005上提出基于集合的自碰撞检测方法,采用预处理的方法将网格划分为多个集合.Choi等人采用GPU来处理三角片对的比较计算,使用层次编码方案有效避免了使用层次结构带来的辅助空间的创建和维护,实现快速的自碰撞检测.Harada等入引入光滑粒子动力学(SPH)方法实现布与流体耦合的实时动态仿真.Huang等人采用改进的质点-弹簧模型模拟水下布料的浸泡效果和布料与水的互动状态,辅以GPU加速可以实现大流动力作用下大规模布料的实时动态模拟.闫燕等人提出的碰撞检测及相应的响应算法,不仅在直观上有很好的物理解释,而且简单易行,计算量小,可以实现实时模拟,对于很多复杂的碰撞情况可以统一处理.顾尔丹等人考虑了布料的非理想弹性属性和变化的空气流作用力,提出基于质点-弹簧模型的动态模拟方法,并针对服装和人体的碰撞问题提出新的碰撞检测算法.林建贞等人采用质点-弹簧模型,结合基于Catmull-Clark准则的局部自适应细分进行碰撞检测和响应,在效率和真实感之间取得了很好的折中.孙守迁等人提出一种快速处理三维服装仿真中角色与服装碰撞的方法,能够满足交互式实时仿真环境的需求.对于大规模复杂场景中布料动画的碰撞处理还需要进一步探讨.朱小龙等人通过为服装模型的每个顶点建立可能发生位置冲突的人体模型面片候选集,利用候选集的母子双层结构剔除绝大多数不可能发生冲突的图元,实现实时的碰撞检测.4难以兼顾的矛盾当前的布料动画技术在模型稍大时不能满足在三维游戏、动画电影等应用中交互式地、实时地生成动画的要求.在获得更为丰富的服饰细节信息同时降低时间和内存消耗,取得真实感和高效性之间存在难以兼顾的矛盾,主要体现在以下方面:4.1对不同材料模型的模拟满足真实感需求是布料动画的一个关键问题,主要取决于物理模型对于布料各种行为特性的表现力.而现有的即使利用最为复杂的连续体模型也很难准确地描述布料某些变形行为,如褶皱和屈曲等.质点-弹簧模型是一种表示简单、易于构建且已被很好理解的柔性材料动态建模方法.对于该模型的研究和改进已有多年的历史,但是,其真实感和实时性的融合性研究进展不大.对于动画生成的视觉效果,其中一个比较重要的因素是如何表现布料的褶皱.Volino等人提出的模型其内力的计算和Terzopoulos等人提出的模型不同,可以处理布匹跌落地上时产生的褶皱,模拟演员的穿衣、脱衣等多种复杂情况.该模型算法容易实现,计算效率较高,但反映材料特性比较困难.Eberhardt等人修改了上述模型,将其运用到针对布料的变形模拟,使计算速度得到了很大的提高.线性跨失弹簧模型以有着共同邻居节点的两个节点为端点,构建虚拟的跨界弹簧来抵制弯曲力.而局部曲率的函数模型可以精确地控制布料的弯曲力度,但计算成本太高.Volino等人设计的基于曲率的线性函数模型以及Wardetzky等人设计的基于曲率的二次函数模型,这两种模型的计算开销都比传统的基于曲率的非线性模型低得多,效果也改进很多.Wang等人通过对数据库中现实存在的不同布料样品进行测量,建立了分段线性弹性模型以逼近不同材质布料的特性,以数据驱动的方法实现布料动画.4.2隐式方法的应用实时性是布料仿真中另一个关键问题.在基于物理方法布料仿真过程中,动力学方程的求解及碰撞检测和响应是影响计算速度的主要因素.在动力学微分方程求解方面,各种方法的性能比较结果如表1所示,显式方法用一种近似的方法来进行数值计算,具有较低的计算复杂度.为了保证模拟过程的数值稳定性,积分步长只能取很小值,或者降低弹簧的刚度.布料动画中取小的时间步长意味着获得单位时间长度动画所需计算次数会大大增加;而另一方面,取小的弹簧刚度则会形成布料的“超弹性形变”现象,使得模拟结果的真实感明显降低.从数值方法的理论可知,隐式方法比显式方法在布料动感模拟中能使系统具有高得多的稳定性,同时能快速使系统趋于平衡,因此对于布料模拟的多数情况下该方法都显示出高效性.然而,从模拟精度来看,隐式方法引入了较多的近似,由此造成的过度阻尼问题会严重影响模拟质量.与显式方法相比,半隐式积分方法具有更高的稳定性;而与完全隐式方法相比,半隐式方法具有更小的数值阻尼和更高的计算效率.混合积分方法结合显式和隐式方法各自的优势,将微分方程分解为刚性和非刚性两部分,分别采用比较耗时的隐式方法和快速的显式积分来处理,在保证系统稳定的前提下尽可能提高计算效率.在碰撞检测和响应处理方面,基于包围体和空间剖分方法是现有的布料动画中最为广泛的基于物体空间的碰撞检测方法.层次包围体技术相交测试相对简单,因而可以用较小的代价快速剔除不发生碰撞的元素,提高碰撞检测的效率.空间剖分技术具有算法实现简单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年远程医疗服务在分级诊疗中的政策支持与挑战应对报告
- 村委会承包水田合同协议
- 村里的股权转让合同范本
- 环评合同终止协议书模板
- 电商代运营收费合同范本
- 环保案件调解协议书范本
- 经济法劳务合同补充协议
- 砖厂购买煤夹子合同范本
- 稀土厂废料出售合同范本
- 项目停工解除协议书范本
- (2025)汽车驾驶员高级技师基本理论知识考试题附含答案
- 轴线翻身护理技术课件
- 中国信息通信研究院-算力中心服务商分析报告(2025年)
- GB/T 2820.5-2025往复式内燃机驱动的交流发电机组第5部分:发电机组
- (苏教版)小学数学五年级下册暑假作业设计
- 办公用品、易耗品供货服务方案
- 体育中国学习通超星期末考试答案章节答案2024年
- GB 22530-2008橡胶塑料注射成型机安全要求
- 绿城物业工程部工作手册(掌上物业管理)
- 2022年7月安徽省萧县教育系统幼儿招聘考试《幼儿保教知识与能力》真题试卷及答案【解析】
- 普通高中物理课程标准解读课件
评论
0/150
提交评论