质点弹簧模型

来源:互联网 发布:薛之谦淘宝店网址 编辑:程序博客网 时间:2024/04/28 14:48

随着计算机的发展,虚拟现实技术越来越受到大家重视。无论是医疗领域还是游戏领域,大家都在尽力研究,让自己在计算机内模拟的物体不断逼进真实。而在模拟现实物体的过程中,大家最为关注的是弹性物体的模拟。弹性物体的模拟有一种模型被广泛采纳,这就是质点弹簧模型。这种模型因为他本身的简单、快捷而受到许多研究者的青睐。但是这种模型的仿真度却始终存在一定的问题。本文就是对质点弹簧模型做一个初步的介绍。

         首先,什么是质点弹簧模型。现在在各种说法中比较难找到较为权威的作为定义。我自己总结了一下,质点弹簧模型,即将物体的质量离散到一个个质点,质点之间再用弹簧连接来表现物体弹力、阻尼力等物理特性的模型。

        为了不断提升仿真度,研究者在这一简单模型的基础上做了许多改进,单单是连接质点的弹簧就有三大类。

        第一种是结构性弹簧,这种弹簧用于连接横向和纵向的质点,起到固定模型结构的作用。第二种是扭曲弹簧,也叫剪切弹簧,连接对角线上的相邻质点,起到防止模型扭曲变形的作用。第三种是拉伸性弹簧,也叫弯曲弹簧连接横向和纵向相隔着一个质点的两个质点,保证模型形变时的边缘圆滑(比如布料折叠)。


         接下来简单介绍一下弹簧模型最常讨论的两种力:阻尼力和弹力。

         阻尼力的概念其实是用于描述物体弹性形变的滞后性。这里可以类比电学中反应时间的概念来理解。弹性物体在受到外力作用发生弹性形变时有时并不会瞬间达到形变形状。而是渐渐形变至最后状态。为了描述这样一个过程就引入了阻尼力的概念。

        那么弹簧模型又要怎样描述阻尼力呢?阻尼力必须满足随着时间逐渐递减至0的条件。接下来介绍其中一种方法。

        设kd为阻尼系数,则Fd = kd * v (kd为阻尼系数, v为振子速度)。阻尼力的大小与速度大小成正比,同时方向与速度方向成反比。

        振子速度的概念其实我也不太清晰,但网上有研究者是写作弹簧内两点位置之差和速度之差的内积。也因此,这公式可以进一步写为

                      Fd = D(DeltaP, DeltaV) * kd (D为向量的内积运算,DeltaP 为弹簧两端位置之差, DeltaV弹簧两端速度之差)

        而弹力的描述可以根据我们十分熟悉的 Fk = k * x来描述 (x为弹簧现长与弹簧原长之差)。

        综上,整个弹簧模型的弹力和阻尼力就可描述为 F= -(Fd + Fk)。

        这只是初步的模型。为了进一步提高仿真度,各路学者在这个模型上改进了很多。比如,体弹簧的引入,虚拟绳的添加,弹性系数、阻尼系数的分段求解等。可以根据各种实际情况,改良模型,使其达到更为逼真的效果也是质点弹簧模型的优点之一。

原创粉丝点击