




已阅读5页,还剩52页未读, 继续免费阅读
(计算机软件与理论专业论文)基于osg的实时布料仿真.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕十学位论文 摘要 过去几十年里,计算机动画一直是人们研究的热点,实时仿真运动的 布料是计算机动画的重要组成部分,吸引了越来越多的研究。虽然布料仿 真非常重要,并且己经有了大量的研究,但快速、理想的布料仿真直到现 在仍然是一个挑战。 论文介绍了基于物理模型的实时布料仿真技术,包括建模、运动控制、 碰撞检测与碰撞响应,提出了基于层次四叉树的碰撞检测方法,提高检测 效率。 论文的主要研究内容及贡献包括以下几个方面: 首先,介绍了布料的质点一弹簧模型和其它建模方法,分析了各种建模 方法的优缺点,在此基础上改进了经典的矩形质点弹簧模型,利用经典的 牛顿力学模型和运动学定律分析该模型的受力情况,引入了扰动力增加模 型的柔性,建立布料的运动学仿真方程,给出了模型中质点所受内力、外 力的表达式和求解方法。 然后,分析了实时布料仿真中的碰撞检测与响应技术,讨论了技术难 点,在详细分析了矩形布料的特点后,提出了基于层次四叉树的碰撞检测 算法。实时布料仿真技术的碰撞检测包括布料与场景内物体的碰撞检测和 布料自身的碰撞检测,在布料与场景内物体的碰撞检测中,我们为布料块 的包围球建立了一棵层次四叉树,基于层次四叉树测试布料是否与场景内 物体发生碰撞,在布料自身的碰撞检测中,我们又利用布料的三角形表面 曲率创建布料表面法向量的包围圆锥,并把包围圆锥的信息附加到层次四 叉树的节点中,简化布料自身的求交计算,进一步提高了布料自身碰撞检 测的效率。 最后,简要介绍了跨平台开源图形开发软件包o s g ( o p e n s c e n e g r a p h ) 的特点,分析了实时布料仿真的特点,给出了算法的工作流程,在o s g 环 境支持下实现了该算法,给出了系统的运行若干实例。 实验证明,本文给出的实时布料仿真技术可以仿真的布料实时运动效 i 山东大学硕士学位论文 果,减少刚性太强等失真现象,提高了碰撞检测的计算效率,在绘制速度 和真实感方面都取得了较好的效果。 关键词:实时布料仿真:质点一弹簧模型;碰撞检测与响应;层次四叉 树;o s g 山东大学硕+ 学位论文 a b s t r a c t r e a l t i m es i m u l a t i o no fc l o t hi so n eo ft h em o s tf a s c i n a t i n ga r e a so f c o m p u t e ra n i m a t i o n d u r i n gt h ep a s td e c a d e s ,ac o n s i d e r a b l ea m o t m to f r e s e a r c hh a sb e e nc a r r i e do u tb ym a t h e m a t i c i a n s ,p h y s i c i a n sa n de n g i n e e r s a l t h o u g hm u c hr e s e a r c hh a sa l r e a d yb e e nd o n e ,f a s ta n dr e a l t im ec l o t h s i m u l a t i o ns t i l lr e m a i n sac h a l l e n g e t h i st h e s i si n t r o d u c e st h ep r o c e s so fc l o t hs i m u l a t i o n ,w h i c hi sb a s eo n t h ep h y s i c a lm o d e l ,i n c l u d i n gb u i l d i n gm o d e l ,c o n t r o l l i n gm o v e m e n t ,a n d c o l l i s i o nd e t e c t i o na n dr e s o l u t i o n t oi m p r o v et h ee f f i c i e n c yo fc o l l i s i o n d e t e c t i o n ,t h ea u t h o rp r o p o s e s aq u a d - t r e eb a s e dm e t h o df o rc o l l i s i o n d e t e c t i o n f i r s t ,t h i st h e s i si n t r o d u c e st h em a s s s p r i n gm o d e la n do t h e rm o d e l so f c l o t hs i m u l a t i o n ,a n da n a l y s e st h ea d v a n t a g e sa n dd i s a d v a n t a g e so fe a c h m o d e l t h ea u t h o rp r o p o s e sa ni m p r o v e dm a s s - s p r i n gm o d e l w h i c hi sb a s e do n t h ec l a s s i co n e s u s i n gt h ec l a s s i cn e w t o n i a nm e c h a n i c sm o d e la n dl a wo f m o t i o n ,t h ea u t h o ra n a l y s e st h es i t u a t i o no ft h em o d e l ,i n t r o d u c e sa p e r t u r b a t i o n a l f o r c et o i m p r o v et h e m o d e l s f l e x i b i l i t y , a n dg i v e st h e c o m p o s i t i o na n de x p r e s s i o no fi n t e r n a la n de x t e m a lc l o t h f o r c e si n f o r m u la t io n t h e n ,t h et h e s i sa n a l y s e st h em e t h o do fc o l l i s i o nd e t e c t i o na n dr e s p o n s e , w h i c hi sac r i t i c a lt e c h n o l o g yo ft h er e a l t i m es i m u l a t i o no fc l o t h ,g i v e st h e g e n e r a lf r a m e w o r ka n ds o m et y p i c a l m e t h o d so fc o l l i s i o np r o b l e ma n d p r o p o s e s ah i e r a r c h i c a lq u a d - t r e eb a s e dc o l l i s i o nd e t e c t i o nm e t h o d t h e c o l l i s i o nd e t e c t i o no fr e a l t i m es i m u l a t i o no fc l o t hi n c l u d e se x t e r n a l c o l l i s i o n a n ds e l f - c o l l i s i o nd e t e c t i o n t od e d u c et h ec o m p l e x i t yo fe x t e r n a l - c o l l i s i o n , t h ea u t h o rc r e a t e sah i e r a r c h i c a lq u a d - t r e e ,w h i c hi su s e df o rd e d u c i n gt h e c o m p l e x i t yo fc o l l i s i o nc o m p u t a t i o n t ot h es e l f - c o l l i s i o nd e t e c t i o n ,t h e 山东大学硕士学位论文 c u r v a t u r eo ft r i a n g l e ss u r f a c em e t h o di si n t r o d u c e d f i n a l l y ,t h et h e s i si n t r o d u c e san e wo p e ns o u r c e ,c r o s s - p l a t f o r mg r a p h i c s t o o l k i t ,n a m e so p e n s c e n e g r a p h ( o s g ) ,g i v e st h ep r o c e s s e so ft h er e a l t i m e s i m u l a t i o no fc l o t h ,a n dc a r r i e si to u ti no s ge n v i r o n m e n t t ol a yo u tt h e e f f e c to ft h em e t h o d ,t h ea u t h o rg i v e ss o m ee x a m p l e s ,w h i c hi se x e c u t e di n t h i ss y s t e m r e s u l t sd e m o n s t r a t et h a tt h er e a l t i m es i m u l a t i o no fc l o t hs y s t e mc a n s i m u l a t et h em o v e m e n ta n ds i t u a t i o no fc l o t h ,a n dr e s o l v et h ed i s t o r t i o n p h e n o m e n o nb yd e d u c i n gt h er i g i d i t yo fs p r i n g s a n dt h ei m p r o v e dm o d e lc a n g e tg o o dr e s u l t sb o t hi ne f f i c i e n c ya n ds e n s eo fr e a l i t y 。 k e yw o r d s :r e a l t i m es i m u l a t i o n o fc l o t h ;m a s s - s p r i n gm o d e l ; c o l l i s i o nd e t e c t i o na n dr e s p o n s e ;h i e r a r c h i c a lq u a d - t r e e ;o s g 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究 所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的科研成果。对本文的研究做出重要贡献的个人和集体, 均己在文中以明确方式标明。本声明的法律责任由本人承担。 论文作者签名:盛建猩日 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保 留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论 文。 ( 保密论文在解密后应遵守此规定) 论文作者签名: 燧名:腽期: 年,弘 山东大学硕士学位论文 1 1 研究背景 第一章绪论 2 0 世纪8 0 年代以来,布料仿真技术一直是计算机图形学领域内的一个研究 热点。布料仿真技术的基本方法是建立合适的布料力学结构模型,利用力学理 论进行推导,从而达到布料仿真的实时效果。 在日常生活中,布料随处可见,计算机动画中出现布料的场合也很多,比 如窗帘、桌布、旗帜和服饰等。如果要求布料动画符合现实生活,高质量的布 料仿真是不可缺少的,其应用领域主要包括: 1 服装c a d c a m 1 , 2 对于服装c a d c a m 系统来说,高级服装设计系统需要进行各种布料及薄 型材料的仿真。设计师需要随心所欲地设置材料的质地、色彩、图案和尺寸, 环境的光源、重力、风速和风向等,模拟人体的运动和服装在风力、重力和人 体推动下的运动细节,代替现实生活中时装模特的试衣表演。实时布料仿真技 术可使服装设计师在服装制作出来之前对设计进行全方位地考查,观察其设计 在运动人体上的实时效果,把仿真效果记录在存储介质上以便存档、重放和演 示。 2 三维动画技术 实时布料仿真是模拟布料随时间的变化而发生的位移和形状的变化,除了 使用平移、旋转来改变布料的位置外,还要处理布料随位置变化而导致的变形。 娱乐、广告和电影等领域比较关心视觉效果,需呈现场景中对象的外形特 征。实时布料仿真可以对描述布料的物理量进行控制,从而获得更加真实的三 维动画效果。 3 虚拟现实技术 在虚拟现实系统中,布料动画比刚性物体的计算机动画更具真实性,实时 布料仿真技术描述的布料更加符合现实情形,也更容易让人接受。 人们在实时布料仿真方面提出了许多方法,在仿真的速度、效果和稳定性 等方面取得了很大的进展,但在真实感、实时性和稳定性上还不能让人十分满 l j i 东大学硕士学位论文 意。 实时布料仿真技术需要考虑布料在真实世界中的属性,如质量、弹性和它 所受到的摩擦力等,并采用动力学原理自动产生布料的运动。当布料受n # i - 力 作用时,标准的牛顿动力学方程可自动生成布料在各个时间点的位置、形状、 速度及其加速度。 实时布料仿真分为建立布料模型和仿真布料的运动状态两个阶段,模型构 建完成之后,仿真布料的运动状态是满足仿真的真实感、实时性和稳定性的关 键,仿真布料运动状态的过程主要分为布料的受力分析和布料运动状态求解, 仿真布料的运动状态的工作流程如图1 1 所示。 1 2 研究现状 图1 1 实时布料仿真流程 布料是一种柔性物体,而布料模型本身的刚性比较大,对布料运动的有效 仿真变得非常困难,布料的建模方式和计算运动的数值积分方法是决定布料仿 真系统效果两个主要因素。 常用的布料物理模型包括有限元【3 1 、连续体力学4 1 和粒子系统( 质点一弹簧 2 lji 东大学硕士学位论文 模型) 【5 1 。本文采用的是质点弹簧模型,这种模型在精确性和效率之间取得了 良好的折衷,表示简明清晰。在质点弹簧模型中,布料由一系列质点和质点间 的连接关系表示,质点的运动由作用在质点上的力决定,这些力由质点的连接 关系计算得到。 数值积分方法对实时布料仿真的计算效果有很大的影响,一般可分为显式 方法和隐式方法。从数值方法的理论可知,隐式方法比显式方法具有高的稳定 性,但其初值需要经过若干步迭代估算得到,开销比较大,能够适应较大的时 间步。为了找出一种最适合布料动画仿真的数值方法,v o l i n o 等 6 1 专门考察了几 种常用的数值方法,选择了显式中点法( 二阶精度) 、四阶精度的r u n g e k u t t a 法和隐式欧拉法在同一框架下做了一系列试验,最后认为,对于精度要求不高 的布料动画仿真,隐式欧拉法是最适用的,如果对精度有较高的要求,则应该 采用r u n g e k u t t a 法。 在分析了布料或薄板的褶皱现象基础上,c h o i 等同认为,由褶皱导致的结构 性不稳定可能跟压杆稳定原理有关,他采用了两种不同的刚度,较大的用于拉 伸和剪切,较小的用于弯曲和压缩,从而提高稳定性。 1 3 论文的主要工作 本文的主要任务是研究并实现布料仿真的质点弹簧模型,结合计算机图形 学、虚拟现实等知识,完成实时布料仿真系统,并针对仿真的真实感、实时性 和稳定性等方面做一定的改进工作。主要概括如下: 对当前已有的实时布料仿真技术进行研究和总结,并结合实际应用,对现 有技术存在的问题做一定的改进。本文首先实现实时布料仿真的质点弹簧模型, 然后采用精度较高,速度较快的四阶r u n g e k u t t a 法求解质点运动方程,最后提 出基于四叉树的碰撞检测,并针对存在的问题作相应的研究,并提出改进方法。 1 4 论文的组织结构 第一章介绍本文研究背景和研究现状以及论文的主要工作。 第二章介绍现有的布料仿真模型,详细说明本文所采用的质点弹簧模型, 3 i i i 东大学硕+ 学位论文 并比较它们的优缺点。 第三章分析质点弹簧模型中质点的受力情况,主要分为质点所受的内力和 外力,提出了附加扰动力的方法来解决布料存在的刚性太强的问题,接着介绍 求解质点运动状态的主要方法,详细讨论本文所采用的四阶r u n g e k u t t a 法。 第四章在分析现有的碰撞检测方法的基础上,提出基于四叉树的碰撞检测 方法,提高碰撞检测的效率。 第五章介绍实验所采用的o s g 绘制引擎,给出本系统的若干运行实例来展 示算法的仿真效果。 第六章对全文进行总结,并提出工作展望。 4 山东大学硕+ 学位论文 2 1 布料的物理特性 第二章质点弹簧模型 布料是天然或人工纤维的网状编织物,具有各向异性、不可压缩性、抗拉 不抗弯等一些明显的力学特性。布料是柔性物体,在结构和力学行为上是一种 复杂的物理系统,其物理模型的实时行为需要许多参数从不同角度进行描述。 不同布料是由多种纤维或纱线采用不同的纺织工艺纺织而成,而且新的纺 织产品层出不穷,因此很难对所有布料的物理构成、密度和厚度等属性作全面 的收集和列举。科学家和研究人员做了大量的实验和研究,获得了布料在外力 作用下形变的各种物理参数,并开发了一些模型描述这些形变,但由于布料形 变的复杂性,无法构造一个适用于各种情况的模型。计算机仿是利用相对简单 的模型进行表象的模拟,而不是对不同质地布料的物理性能作全面的模拟。我 们假设研究的对象是一块理想的方形布料,具有一定质量、易变形和悬挂下垂 等特点,并且布料的密度和厚度是均匀的。 目前,在纺织学领域中获取布料物理机械性能参数的方法是k e s 法 ( k a w a b a t ae v a l u a t i o ns y s t e mf o rf a b r i c s ) ,该方法对同一块布料进行不同类型的 张力测试,将布料内的相互作用统一归纳为三种:拉压、剪切和弯曲。我们所 研究的布料也是基于k e s 方法的,布料具有以下特性: 1 布料所产生的抗拒力与拉伸之间的关系是非线性的; 2 布料在拉伸程度很小的时候,纤维所产生的抗拒力与拉伸率近似成正比, 随着拉伸率的增大,抗拒力会急剧增加,甚至增加很小的拉伸率,可能导致布 料的撕裂; 3 布料在拉伸试验中表现出滞后性,即对于相同的拉伸率,拉伸时纤维所 产生的抗拒力大于收缩时的抗拒力。滞后性现象的存在是因为布料内部的纤维 之间存在摩擦,纤维在变形时抵消了部分能量,在测试布料的面内剪切性能和 弯曲性能时也得出类似的结果。为了使模型尽量简单,本文不考虑滞后性,假 定在相同拉伸率下布料在拉伸和收缩时所产生的抗拒力是相同的。 5 i i1 东大学硕士学位论文 2 2 布料的建模方法 由于布料仿真在计算机图形学和工程学中的广泛应用,对布料的建模方法, 有大量的研究成果,提出了许多方法,主要分为以下三种【8 】: 1 基于几何的建模方法; 2 基于物理的建模方法; 3 混合的建模方法。 2 2 1 基于几何的建模方法 由于软件和硬件的局限性,早期的布料仿真模型主要集中于几何模型上, 使用数学公式来模拟复杂布料的变形。 w e i l 9 1 最早提出了一种基于几何的布料建模方法,把布料悬挂在一些约束点 上,计算出布料自由悬挂时的形状,该方法不能模拟布料产生的褶皱。h i n d s t l o 】 提出了基于等距面的交互服装设计系统,通过描述人体上的衣物形状来创建衣 服的几何模型,产生距离人体表面的位移。n d l l l 采用纯几何变换模拟特殊情 况下布料的变形。h a d a p t l 2 l 采用纹理与几何相结合的方法模拟衣服上的褶皱。 基于几何的方法简洁快速,由于完全不考虑布料的质量、弹性系数等物理 因素,很难逼真地生成布料运动和变形的动画。 2 2 2 基于物理的建模方法 由于纯几何的建模方法需要用户的干预,并且只能适用一些特殊情况,大 多数布料仿真系统都是基于物理的建模。近年来,研究者更多地采用基于物理 的建模方法来仿真实时的布料。 为使布料的表示对应真实布料的内部结构,基于物理的模型通常把布料表 示成离散的一系列粒子,从而能够将物理、数学上的理论方便地应用到布料粒 子。 基于物理的模型通过引入质量、力和能量等物理量,将布料各个部分的运 动看成各种力作用下粒子运动的结果,根据机械运动定律,使用微分方程来模 6 山东大学硕士学位论文 拟布料的悬垂和坠落等行为。 目前,基于物理的模型主要包括弹性变形模型( e l a s t i c i t y - b a s e d m o d e l s ) t 1 3 ,1 4 ,15 1 、质点弹簧模- 犁( m a s s s p r i n gm o d e l s ) t 1 6 ,1 7 1 和粒子模型( p a r t i c l e m o d e l s ) 1 8 , 1 9 , 2 0 , 2 1 , 2 2 】。 基于物理的弹性变形模型是布料仿真技术的里程碑,该模型从连续介质力 学的角度考虑物体的变形,变形体的变化遵循n e w t o n 力学和经典弹性力学, 将问题归结为一个微分方程,求解方程得到物体上各点的空间位置。 后来的研究都秉承了这种动力学思想,提出了许多仿真技术,很多工作都 集中在布料的弹性变形模型上,这些方法最终都可以归结为质点弹簧模型。 t e r z o p o u l o s l l 3 1 的方法基于l a g r a n g e 形式的变分原理,a o n o l 2 3 1 的方法基于弹性 理论的平衡方程和d a l e m b e r t 原理,更多地考虑了材料的物理参数和纤维特征, 更容易控制,t h a l m a n n 领导的m i r a l a b 也发展了弹性变形模型,用于模拟演员 的服装,并且他们对布料的碰撞检测及其优化进行了讨论 2 4 , 2 5 , 2 6 。 2 2 3 混合的建模方法 结合基于几何方法和基于物理方法的优点,研究者提出了混合的方法。 r u d o l i n 【2 7 1 首先使用混合的几何物理方法来仿真布料,提出了几何计算方法, 生成了一系列3 d 的多边形,从而给出一块悬挂于几个固定点布料的大致形状。 k u n i i t 2 刚提出了采用奇异性理论仿真衣服及褶皱的技术,该技术是基于几何方法 和基于物理方法的混合。 这种方法首先创建布料的几何模型,然后根据物理规律进行实时仿真。采 用混合造型方法的布料仿真,比基于几何的方法速度快,但真实感不如基于物 理的方法,因此没有被深入研究下去。 2 3 质点- 弹簧模型 基于物理的建模方法有很多,比如弹性变形模型、粒子系统模型、有限元 方法、质点弹簧模型等。经过详细分析我们发现,质点弹簧模型简单、运算 效率较高,缺点是对布料的材料性能表达比较单一 1 6 , 2 9 1 。 7 i i i 东大学硕士学位论文 2 3 1 质点- 弹簧模型简介 在质点弹簧模型中,布料是由质点和连接质点的弹簧组成的一种非连续结 构,每一个质点和每一条弹簧,都将得到单独的处理。根据布料的特性及其在 真实世界中的表现,质点弹簧模型可以较好地描述布料的固定特性。布料中的 线在一定限度内可以被拉长或者放松,因此可以用弹簧来近似模拟,布料上的 点可以认为是一个粒子系统,每一个粒子都有一个三维的位置和速度,粒子和 弹簧一起形成的一组顶点和三角形网格构成整块布料的形状。布料内部的作用 力模拟不同类型的布料特性,布料的形态也会受到重力、风力等外部作用力的 影响,布料内部的张力和外部作用力使布料产生变形。 在质点弹簧模型中,所有质点通过弹簧相连,当布料上某个质点的平衡被 破坏时,它所产生的扰乱将通过弹簧传递到其他质点,从而模拟布料的运动和 形变。通过改变弹簧的各种参数,可以仿真出不同材质的布料。 2 3 2 质点- 弹簧模型 为了实现简单,且不失一般性,我们假定所研究的布料是一块矩形布料, 其密度和厚度是均匀的,并且经向纤维和纬向纤维的物理机械性能完全相同。 一般情况下布料的厚度在视觉上与其长度和宽度相比可以忽略不计,因此布料 的数学模型使用厚度为零的理想空间曲面。将布料按经向和纬向划分成若干个 单元,认为每个单元的质量相同,并且浓缩为质点的质量。密度均匀的布料, 可以看成由排列规则的若干质量相同质点组成,整块布料的质量均匀地分布在 各个质点上。质点与质点之间用若干弹簧连接,对不同类型的弹簧设置不同的 弹性系数和阻尼系数,用于模拟布料内部不同方向上纤维的相互作用。 一般说来,布料内部有三种相互作用:拉压、剪切和弯曲,可以分别使用 结构弹簧、剪切弹簧和弯曲弹簧来模拟,如图2 1 所示: 1 结构弹簧 模拟布料内经纬两个方向的作用力,连接质点【f 卅和【i + j 卅,【i j 和【u + j 】, 弹性系数很大,以阻止布料在经纬两个方向产生过度的拉压变形。 2 剪切弹簧 8 山东大学硕士学位论文 模拟布料内倾斜方向的作用力,连接质点【f 卅和 i + l d + l 】,p + j 胡和【u + j 】, 弹性系数也比较大,以阻止倾斜方向的过度变形,并模拟布料的伸展性。 3 弯曲弹簧 模拟布料在产生弯曲或折叠时的抗弯曲性能,它连接的是经纬两个方向相 间隔的质点【f 卅和【件2 ,刀,【i ,j 】和 f ,j + 2 1 ,其弹性系数较小。 质点 - - 结构弹簧 一- 一剪切弹簧 一弯曲弹簧 ;、,i、,、 ; , 图2 1 布料的质点弹簧模型 在建立质点- 弹簧模型时,我们首先建立一个布料的数据类型( c l o t h ) ,该数 据类型包括质点类型( m a s s p o i n t ) 和弹簧类型( s p r i n g ) ,质点类型包括质点的质量 ( m a s s ) 、位詈_ ( p o s i t i o n ) 、速度( v e l o c i t y ) 年e l 所受的合力( n e t f o r c e ) ,弹簧类型包括 弹性系数( s p r c o n s t a n t ) 、阻尼系数( d a m p c o n s t a n t ) 、弹簧的自然长度( n a t u r e l e n g t h ) 、 弹簧的实时长度( c u r r e n t l e n g t h ) 和弹簧的张力( s p r t e n s i l i t y ) 。 下面为m a s s p o i n t 数据类型、s p r i n g 数据类型和c l o t h 数据类型的c + + 语言 的伪代码描述: 质点类型 c l a s sm a s s p o i n t p r i v a t e : d o u b l em a s s ;n ) 贡点质量 o s g :v e c 3p o s i t i o n ;) 贡点坐标 o s g :v e c 3v e l o c i t y ;) 贡点速度 9 i 东大学硕+ 学位论文 o s g :v e c 3n e t f o r c e ;质点所受合力 p u b l i c : v o i ds e t p o s i t i o n ( d o u b l ep x ,d o u b l ep y , d o u b l e p z ) ;设置质点坐标 v o i ds e t v e l o c i t y ( d o u b l ev x ,d o u b l ev y , d o u b l e v z ) ;设置质点速度 v o i ds e t n e t f o r c e ( d o u b l ef x ,d o u b l ef y , d o u b l ef z ) ;设置所受合力 ) ; 弹簧类型 c l a s ss p r i n g p n v a t e : d o u b l es p r c o n s t a n t ;弹性系数 d o u b l ed a m p c o n s t a n t ;阻尼系数 d o u b l en a t u r e l e n g t h ;n 弹簧的自然长度 d o u b l ec u r r e n t l e n g t h ;弹簧现长 d o u b l es p r t e n s i l i t y ; 张力 p u b l i c : v o i ds e t s p r c o n s t a n t ( d o u b l e s p r i n g c o n s t a n t ) ;设置弹性系数 d o u b l es e t d a m p c o n s t a n t ( v o i d ) ;设置阻尼系数 d o u b l eg e t s p r t e n s i l i t y 0 ;h 计算张力 ) ; 布料类型 c l a s sc l o t h l o p u b l i c s p r i n g 料搴s t r u s p r i n g ;结构弹簧数组 s p r i n g 料木d i a s p r i n g ;剪切弹簧数组 s p r i n g 料+ b e n d s p r i n g ;弯曲弹簧数组 s i z e _ tg r i d s i z e ;布料大小 m a s s p o i n t 料掌m a s s e s ;h 质点数组 1 ii 东大学硕七学位论文 第三章布料的实时仿真 本章将详细介绍质点弹簧模型的力学模型、运动方程求解方法和具体的实 现方法,以实现布料仿真的实时性。 3 。1 力学模型 为使布料的运动符合客观现实,必须对它进行受力分析。在本文的模型中, 为了计算质点所受的力,假定质点是由线性弹簧连接而成,由弹簧来模拟布料 的弹性,弹簧弹性取决于布料的材料和物理特性。 质点所受的力分为内力和外力,内力即粒子间的作用力,主要包括张力、 剪切力、弯曲力和阻尼力,外力主要有重力和空气阻尼力,其中重力为常量, 空气阻力与质点的速度成正比。 质点的运动规律由牛顿第二定律f = m 订确定,它描述了物体的加速度、作 用于物体上的力以及物体的质量之间的关系。通常,在某个时刻,多个力同时 作用于质点上,对于布料上的每个质点,将所有作用于质点上的力相加,来计 算其加速度: 撒瓦a 2 i x = f e x t ( 置) + f i n t ( x ,) ( s - 1 ) 式中z 表示粒子的位置向量,x e r 3 是求解目标,m 表示质点的质量, 砂表示质点所受外力,尸脚伍砂表示质点所受内力。 3 1 1 内力 在质点弹簧模型中,考虑的内力包括弹簧弹力和弹簧阻尼力,即 f 耐爿即7 w 朋口,其中p 7 表示弹簧弹力,严仰表示弹簧阻尼力。图3 1 描述了 阻尼器弹簧质点模型,由于采用的是理想的质点弹簧系统,可以利用虎克定 律来计算弹簧的弹力。下面讨论简单模型和复杂模型的弹簧弹力和阻尼力计算。 对于简单模型,假定每个质点都只与一个弹簧相连,如图3 1 ( a ) 所示,其计 算相对简单,下面讨论弹簧弹力和阻尼力。 山东大学硕士学位论文 ( a ) 简单模型 ( b ) 复杂模型 图3 1 阻尼器弹簧质点模型 1 弹簧弹力 弹簧弹力是由于弹簧被拉伸或压缩而产生的力,与弹簧的弹性系数、初始 长度和某一刻弹簧的长度有关。作用在质点坞和慨间的弹簧弹力通过虎克 定律计算: f i s ,p r k s ( z 一) 器( 3 - 2 ) 群r = 一臂r( 3 3 ) 其中,忽为弹性系数, 屯盯= 丽,z 5 朋为弹簧的初始长度。 2 阻尼力 阻尼力是为了防止质点过分振荡,增加模型稳定性,随速度的增大而增大。 质点胧,所受阻尼力定义如下: f 。d j a m p = 訾格 其中为弹簧的阻尼系数,k 为相对于慨的速度。 由( 3 2 ) ,( 3 3 ) ,( 3 4 ) 得到简单模型的内力计算公式: ( 3 4 ) 臂蹬r + 叫f d a m p _ ( 一k s ( 1 u , k l - ) + 挚而l i j , l d ( 3 - 5 ) 对于复杂模型,每个质点与若干个弹簧相连,如图3 1 ( b ) 所示,质点坞所 受到的内力可以表示为: 臂c - ( 宵r + 巧姗p ) ( 3 6 ) 一一_ 。 l l 1 2 山东大学硕士学位论文 3 1 2 外力 在实时布料仿真中,为了仿真布料的自然掉落并与障碍物发生碰撞,需要 考虑重力、空气阻尼力、风力和摩擦力等外力。下面讨论这几种外力: 1 重力 假设布料是质地均匀的,每个质点所受的可表示为: g i j = m u f f ( 3 7 ) 其中,m 盯为质点的质量,g 为重力加速度。 2 空气阻力 空气阻力起着分散质点动能的作用,可以利用如下公式计算: 碍盯= 一c d i s l 7 f j ( 3 - 8 ) 其中,c 如为空气阻力系数,v 盯为质点的速度向量。 适当的添加空气阻力可以使系统更加稳定,但是过多的空气阻力会产生不 真实的油状感。 3 风力 为了更准确地仿真布料在现实世界是的运动状态,我们又引入了风力,通 过改变风力的大小来模拟布料的不同运动状态。风力可表示为: 彤n d = 一f 7 l a n f j ( 秒n f r v q ) n u ( 3 - 9 ) 其中,c w ,耐为风的振幅系数,1 ,口护为风的速度向量,咐为质点的速度向量, 玎f ,为质点m o 相对于布料表面的法向量。 4 摩擦力 摩擦力是由于运动的质点接触到场景内的其它物体产生的一种力,摩擦力 可表示为: 彤把“蛳= c 础 ( 3 1 0 ) 其中,c 表示接触面的摩擦系数,硝表示接触面所受质点坞在其法方向上 的压力。 由( 3 8 ) ,( 3 9 ) ,( 3 - 1 0 ) ,( 3 - 1 1 ) 得到质点所受到的外力: q 芦= g i j + 弼打+ 彤m d + 够把“。几 ( 3 1 1 ) 1 3 岂蛮銮:望:兰竺兰兰 扰动力 经典的质点弹簧模型中投有扰动力,我们在做实验的过程中,廿 一料自由下落,此时布料所受的外力只有重力由于弹簧模型自1 受力的对称性,导致质点的受力全部在布料平面内,使布料下拜 ;保持平衡处于竖直状态,这是刚性极强的失真现象如图3 - 2 图为正视图,右圈为侧视图。 图3 - 2 布料自由下落着地时的失真现象 了解挟这种问题,我们为每个质点添加了很小扰动力f 9 盯“咕,王 是随机的三维向量。这样,扰动力可以让质点不在同一个平面供 作用,让布料产生比较自然柔性效果,如图3 - 3 所示,其中, 理映射的填充渲染模式,下圈为的线框渲染模式。 于物理建模的布料仿真一般被认为是随时间变化的偏微分方程, 后可以当作常微分方程来进行数值求解。对任意一个质点,宴 x 的运动方程可以表示为: = m 一1 ( f l ”+ f “+ 矿6 】 个质点系统的状态向量矩阵x 可以表示为随对角质量矩阵吖和, 二阶常微分方程组,并通过数值积分方法,如欧拉法或r u n g e - k u 岩互銮兰竺:兰箸鲨三 ! 约束条件下求解。 图3 - 3 布料添加扰动力后的柔性效果 :点弹簧模型中的力矩阵 的模块表述如下: 匈力 e i n t e r a a f o r c e ( ) m p u t e s p r i n g f o r c e ( ) ;肌十算弹簧的弹力 m p u t e r d a m p l “g f o r c e ( ) , 计算弹簧的阻尼力 由于我们用的是复杂的叭尼器弹黄一质点模型每个质点所受 内力包括所有与它连接的结构弹簧、蜉切弹簧和弯曲弹簧的弹 和阻尼力 卟力 r e e x t e m a i f o r c e ( ) m p u t e g r a v i l y ( ) ; 计算重力 _ 1 1 p u t e a i r d a m p i n g f o r c e 0 ; 计算空气阻力 _ 1 1 p u t e w i n d f o r c e ( ) ; 计算风力 山东大学硕士学位论文 ) ; f 计算合力 c o m p u t e n e t f o r c e o c o m p u t e i n t e m a l f o r c e o ; c o m p u t e e x t e m a l f o r c e o ; ; 3 2 模型求解 在对布料中各质点的受力情况进行了详细的分析后,还需要对模型求解, 通常的求解方法有基于力的模型和基于能量的模型。 基于力的模型,根据牛顿第二定律a = f m ,计算出质点的加速度a 玎后, 列出偏微分方程,通过数值方法来计算质点在各时刻的位置和速度。 基于能量的模型与基于力的原理基本一致,但是基于能量的模型是通过计 算力矩,最终使整块布料“能量最小化 ,即达到平衡状态【2 2 1 。我们主要讨论 基于力的运动求解。 在求解过程中,需要选择合适的数值积分方法,解的精度也要控制在一定 的误差范围之内,否则会产生误差累积,引起系统的不稳定。在质点弹簧模型 中,质点的运动用时间域上的二阶常微分方程描述。通过降阶处理,二阶微分 方程可以化为一阶微分方程,在布料的实时仿真过程中,初始状态是已知的, 方程求解便转化为有初始值的常微分方程问题。求解有初始值的常微分方程有 多种数值解法,针对布料仿真的特点,在选择数值解法时,应该考虑以下几个 问题: 1 仿真系统的规模 质点数量越多,系统的规模就越大,要获得高效的仿真结果,必须考虑系 统的规模所导致的计算量问题。 2 计算的精度 一般说来,要追求尽量小的误差,是以其它性能的损失为代价的,尤其是 计算效率的降低。在一定的硬件条件下,需要根据实际问题的要求选择折衷的 1 6 山东大学硕士学位论文 求解方案,以平衡计算精度与计算效率的关系。 3 刚性问题 刚性是质点弹簧模型的机械属性,系统的刚性强,则稳定性差,刚性弱, 则容易产生超弹现象,引起仿真效果失真,因此需要参照有关的经验值去选择 合适的弹簧参数。 4 ,仿真特点与要求 有些仿真侧重于表现布料的空间动感,力求精确地再现质点随时间变化的 运动状态,有些仿真侧重于展示布料的静态垂感,力求计算结果尽快收敛,使 布料达到最终的平衡状态。 基于上述分析,适用于布料仿真的数值解法总的来说可归为显式方法和隐 式方法。最近e b e r h a r d t t 2 1 1 提出了混合方法,将微分方程分离成线性和非线性两 部分,分别用显式和隐式方法来解决,从而能够相应减少计算的工作量。 1 显式数值解法( e x p l i c i tn u m e r i c a li n t e r g r a t i o n ) 强调真实感,系统时间步长要小,每步需要作的工作少,但是迭代次数相 对较多。 2 隐式数值解法( i m p l i c i tn u m e r i c a li n t e r g r a t i o n ) 可以使用较大的时间步长,减少迭代次数,但适用范围有限。 3 混合方法( i m p l i c i t - e x p l i c i ts c h e m e s ) 综合显式和隐式积分的优点,扬长避短,但仅适用于能够将微分方程分离 成线性和非线性的系统。 在般的布料模拟中,都选择显式的方法。如果只模拟较少的质点,比如 只使用几百个质点,显式方法要比隐式方法效率更高3 们,而且显式方法易于和 空间限制相结合,这些空间限制是指在布料实时模拟系统中那些穿透的质点和 被拉长的边必需的空间约束。如果系统模拟较多的质点,则显式方法通常要比 隐式方法慢,并且显式方法不够稳定。 显式方法里最具有代表性的方法包括显式欧拉法、显式中点法和四阶 r u n g e k u t t a 法。本文的实验采用的质点数目比较小,采用了精度较高的四阶 r u n g e k u t t a 法。 1 7 山东大学硕士学位论文 3 2 1 显式欧拉法 显式欧拉法是数值求解中最基本、最简单的算法,但其求解精度较低,一 般不在工程中单独应用,其实理论依据是向前差商来近似代替导数,该方法也 称为向前欧拉法。 对于微分方程: 少( c ) - 厂躲唑任皿力】 ( 3 - 1 3 ) y l 口j = y o 将时间区间丘,w 分成刀段,每段的时间版为h = ( b a ) n 。在第t 点有 ) ,7 ( c ) = 厂( 五y ( c ) ) ,再用向前差商近似代替导数,则有艘掣) ,( c ) = r ( x ,y ( t ) ) ,因此可以根据点t 和点y ( o 的数值计算出y o + h ) ,表示如下: y ( t + 是) = y ( c ) + h f ( t ,y ( ) ) ( 3 - 1 4 ) 由此得y 何的近似值刑 y ( t n ) = y ( t o + n h )
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- IDO5L-Standard-生命科学试剂-MCE
- HO-PEG-AS-MW-1000-生命科学试剂-MCE
- 2025年甘肃省平凉市崆峒区殡仪馆招聘合同制工作人员模拟试卷及答案详解(夺冠)
- 2025年甘肃省甘南州临潭县卫生健康系统引进紧缺卫生专业技术人才20人模拟试卷完整参考答案详解
- 2025福建海峡人力资源股份有限公司平潭分公司(第一批)招聘延长模拟试卷及完整答案详解一套
- 2025北京中国音乐学院高层次人才引进2人模拟试卷及参考答案详解1套
- 安全培训效果自评课件
- 《二维空间坐标系应用:高三数学教学教案》
- 农产品质量监测方案设计
- 2025年上半年四川泸州市妇幼保健院面向社会招聘编外人员19名考前自测高频考点模拟试题及一套答案详解
- 爆炸物品生产安全操作规程
- 中华人民共和国统计法
- 热电厂输煤作业安全培训
- 形成性评价指导性规范:SOAP病例汇报评价
- 燃料电池+基础理论动力学+热力学+研究方法
- 高等数学教材(文科)
- 歌词:半生雪(学生版)
- 九江学院学位英语往年考题
- 药品不良反应培训试题
- 2024-2030年中国纳米晶软磁材料行业市场发展趋势与前景展望战略分析报告
- 五级保健按摩师(初级)职业技能鉴定考试题库-下(判断题)
评论
0/150
提交评论