质点弹簧.pptVIP

  • 46
  • 0
  • 约2.85千字
  • 约 15页
  • 2018-06-25 发布于河南
  • 举报
质点弹簧

质点-弹簧模型 主要内容 研究背景 质点-弹簧模型介绍 应用到文字变形 研究背景 图形的变形过程仿真和可视化是计算机图形学的一个重要研究课题。在布料模拟、医学手术模拟等许多领域中都有广泛的应用。 目前主要的变形模拟模型主要分以下几种: 几何模型: 物体的形状完全用数学函数来描述,通过几何插值的方法直接改变物体表面的控制点从而改变物体形状,这种方法计算速度快,相对容易实现,但是不具有物理意义,只能模拟一些简单的模型 。 物理模型: 物体的模型用微分方程来描述,结合物体的物理属性,运用力学理论建立微分方程。该方法能反应物体的真实情况,但速度相对较慢。 混合模型: 结合几何模型与物理模型,其速度及逼真度介于两种模型中间。 由于可以结合物理属性且获得更逼真的模拟效果,现在的研究中一般采用物理模型,常用的物理模型有以下两种: 质点-弹簧模型 结构简单易用、 算法容易实现且效率较高 有限元模型 它把形变体划分成许多个有限单元,并在各个有限单元内实现形变体几何和物理的连续特性。能准确地模拟物体变形,但是其计算过程很复杂,且其能准确模拟的变形幅度一般不到物体尺寸的1 鉴于现在对于变形效率及效果的综合要求一般采用质点-弹簧模型 质点-弹簧模型介绍 (以布料模拟为例子) 质点-弹簧模型将一张布料看作成一张由质点构成的网,质点的位置代表布料上某一点的空间位置。 质点没有大小,但有一定的质量,且质量均匀分布。 在这个模型中,是一种虚拟的弹簧:每一根弹簧连接两个质点,而每个质点可能连接任意根弹簧。这里的弹簧是拥有线性弹性系数的遵循胡克定律的可伸缩弹簧 下面分别是面模型和体模型拓扑结构: 现阶段质点-弹簧模型的主要应用领域 虚拟手术仿真 人体软组织形变的仿真是虚拟手术的关键技术之一,此模型可用于对人体活性软组织器官进行物理计算机建模。 下图是用镊子进行软组织表面夹取: 布料仿真 布料模拟结果真实,已经在影视特效制作、计算机辅助三维服装设计和视频游戏领域获得了越来越广泛的应用。 受力分析 前面介绍了质点-弹簧模型中质点的连接方式,为使模型能够运动起来,必须对它进行受力分析,下面就来看看质点的受力情况。 质点的位置受内部弹簧的弹性力(包括结构力,剪切力,弯曲力)和物体外部受力(如重力,惩罚力,阻尼力,空气阻力和用户自定义的力等)影响。 在某一时刻多个力同时作用于物体上,每个力的向量之和为最后的合力,对于布料上的每个质点,可以将所有作用于质点上的力相加,来决定加速度: X表示质点的位置矢量, 是求解目标,m表示质点的质量, 表示物体所受合力。而质点所受的内外力之和分别随着时间和位置的变化而变化。 关于文字变形受力分析: 首先,对所有的质点计算力F; 初始化每个顶点力为0,即F=0; 计算质点的重力(质量均匀); 如果有阻尼系数给出,则F=kd*V(kd为阻尼系数,V为振子速度),阻尼力与速度大小成正比,速度方向成反比; 如果有阻尼系数未知,则阻尼系数用定值阻尼系数DEFAULT_DAMPING,则F=DEFAULT_DAMPING*V 用户力 外界施加给质点的力,这里称为用户力,用Fu表示; 计算每个弹簧对各质点力的作用 在计算各个弹簧时,p1为弹簧的左端点,p2为弹簧的右端点; 计算弹簧此时的长度dist,则弹簧的弹性力为: Hterm=Ks * (dist - rest) (其中Ks为胡克系数,rest为弹簧原长); 计算弹簧的阻尼力 Dterm=(DotProduct(deltaV,deltaP) * spring-Kd) / dist (其中 deltaV为p1,p2点速度之差,deltaP为p1,p2点位置之差,kd为阻尼系数, DotProduct 内积) 弹簧力为: springForce= -(Hterm + Dterm); 质点p1受到的力: p1-f= p1-f +springForce= p1-f -(Hterm + Dterm) 质点p2受到的力: p2-f= p2-f -springForce= p2-f +(Hterm + Dterm) 计算鼠标拉力对质点的作用 计算鼠标力作用的长度: dist= m_MouseDragPos[0]- p1-pos (m_MouseDragPos[0]为鼠标的位置, p1-pos为m_Pick[0]标记的质点的位置); 如果dist不为0,则: F0= (dist) * m_MouseForceKs+p1-f

文档评论(0)

1亿VIP精品文档

相关文档