基于自适应龙格_库塔方法的柔性织物仿真
- 格式:pdf
- 大小:623.91 KB
- 文档页数:3
72210907hk 2+
7296 2197
hk
3
)
k 5=
f ( tm+
h,
um +
439 216
hk
1-
8 hk2+
3680 513
h
3-
845 4104
hk
2
)
k 6= f ( tm +
h 2
,
um -
8 27
hk1+
2hk 2-
3544 2565
hk
3+
1859 4104
hk
4
-
11 40
hk5
k 2= f ( t m +
h 4
,
um +
h 4
k1)
k 3= f ( t m +
3 8
h,
um +
3 32
hk
1+
9 32
hk2)
( 1)
k 4=
f ( tm+
12 13
h
,
um +
1932 2197
hk
1-
72210907hk 2+
7296 2197
hk
3)
k 5=
f ( tm+
h , um +
k
3+
2586546310k 4-
9 50
k
5+
2 55
k6)
k 1= f ( tm , u m )
k 2= f ( tm +
h 4
,
um +
h 4 k1)
k 3= f ( tm +
3 8
h,
um +
3 32
hk1+
9 32
hk2)
k 4=
f ( tm+
12 13
h
,
um +
1932 2197
hk
1-
但是不管上述哪种方法, 都有 一个致 命的缺 点, 那 就是要 求我们事先给定一个特定的步长。如果选择步长过大, 超出了 算法的稳定区域, 就会导致结果发散; 如果选择步长过小, 就会 浪费大量的计算时间。于是我 们考虑 采用自 适应方 法来对柔 性织物进行仿真。
4 自适应的龙格 库塔( Runge Kutta) 方法
的二阶常微分方程形式描述。
下面我们研究采用自适 应的龙 格 库塔方 法求解 柔性织
物空间运动方程的具体方案。 对于质 点系运 动的微分 方程的
一般形式: x = M- 1f ( x , x ) 设时间的初 始 值为 t 0, 初始 位 置 为 x ( t0 ) , 初 始 速 度为
v ( t0), f ( t, v ( t) ) 为 t 时刻 x( t) 位置质点所受的合力, u ( t , v
4 3 算法的实现
经过对弹簧 质点模型的研究, 得出单个质点 满足下面的 微分方程: mqi+ cdampqi= Fi+ Pi 其中, m 为质点的质量, cdamp 为系统衰减系 数, Fi 和 Pi 分别为 质点所受的外力及内力。
由此可以看出, 柔性织物曲面的质子系在空间 的运动主要 受其内力与外力的合作用影响, 质点在空间的运动 以时间域上
关键词: 柔性织物; 弹簧- 质点模型; 自适应方法; 龙格- 库塔方法
中图法分类号: T P391
文献标识码: A
文章编号: 1001- 3695( 2004) 12- 0170- 03
Flex ible Cloth Simulation Based on Self- Adaptive Runge- K utta M ethod
1 柔性织物模型简介
织物变形仿真的模型通常有三类: 几何模 型 。
随着人 们对模拟质量的 要求, 在各种 模型中, 物 理模型开 始占据主导 地位。其 中由 X Pro vot 创 建的基 于物理 方法的弹 簧质点模型, 简单易 用, 算 法容易实现, 计算 效率较高, 因此应
4 1 Runge Kutta 方法的自适应格式:
Fehlberg 给出 了一 个 Runge K utta 型 的 漂亮 的 自 适 应格 式[ 14] :
u m+ 1=
u m+
h
(
25 216
k
1
+
1408 2565
k
3+
24119074k 4-
1 5
k5)
k 1= f ( t m , u m)
1)
f 3=
f ( t0+
3h 8
,
v(
t0) +
hM
-
1(
当今, 计算机不但在科学技术 领域, 而且在制 造业、服装 业 等领域也得到了广泛 的应用, 各种 CAD 软件被大 量的开发、研 制与使用, 它们已经 成了一些高科技企 业的必备工具。随着 生 活水平的提高, 人们已经越来越注重自己的仪表, 服装业因此也 得到了空前的发展。如何在电脑上形象地模拟出一个人穿上某 件衣服的实时效果, 换 句话说也就是如何在 电脑上实现对布 或 者衣服的真实感的仿真, 成为了许多科学家非常感兴趣的问题。 服装作为一种柔性织物, 很难用一种简单的模型来描述, 即使我 们建立了模型, 庞大的运算量对于普通的计算机来说, 也不能够 实现实时的仿真。所以, 服装 的动态仿真一直是 件负有挑战 而 又有很多科研人员锲而 不舍、积极参与 的工作。如何降低算 法 的时间复杂度、实现模拟的实时性, 以及如何提高 算法的精度、 实现模拟的精确性, 依然是困扰科研人 员的两大难题。从理 论 上讲, 两者是相互矛盾的, 要想降低 时间复杂度, 就需要降低 算 法的精度; 同样要想提高算法的精度, 也会增加算 法的复杂度, 所以寻找一种折中而有效的算法就成为必然。
生的 误 差 为 1, 则 步 长 和 误差 的 关 系 可 以 描 述 为 1 =
0
(
h h
1 0
)
5,
若
0 为允许 精度, 则满足精度的步长 h0 可以由上式直
1
接推出, 即: h 0= h 1 0 5
( 3)
1
如果 0< 1, 步长减少; 如果 0> 1 , 步 长根据 式( 3) 进行
自行调整。
根据织物形变的特点, 弹簧 分成三种类 型[ 7, 8] ; 相应 的, 质 点所受的弹性内力也分为三种类型: 结构弹簧。一个质点 和 它在经、纬方向上相邻的四个质点存 在着结构弹 簧( 图 2) 。在 这种类型的弹簧上 , 存 在着 两种力, 分 别称 为拉伸 力( Stret ch ing Fo rce) 与排斥力( Repelling F orce) 。 剪切弹簧。一个质点 和它在 对角线方向上相邻的四个质点存在着 剪切弹簧 ( 图 3) 。 在这种 类型的弹簧上, 存在 的力称 为剪切 力( Shearing F orce) 。
用得比较广泛。本文在三维织物的动态模拟过程中, 使用了 弹 簧质点模型。
表 1 常见的织物模型
类型
方法
优点
几何模型 物理模型 混合模型
几何 变 换 Weil 1986[1] ; H adap 1990[ 2 ]
牛 顿 第 二 运 动 定 律 Breen 1994[5] ; T erzopoulos1987[3, 4]
( 2)
由上式( 1) 和式( 2) 得到 u ( t + h) 的 值之 间的差, 是 对四 阶方法中局部截断误差的一个估计。
4 2 误差与步长的选取
自适应方法的关键在于能够根据误差自动的调整步长, 使 计算结 果满足精度。对于 四阶 的 Runge K utta 方法, 其误 差 的阶数为 O ( h5) , 设步 长为 h0 产生的误差 为 0, 步长为 h1 产
弯曲弹簧。一个质点和它在经、纬方向上相隔的四个质点 存 在着弯 曲弹簧( 图 4) 。在这种类型 的弹簧上, 存在 的力称为弯 曲力( Bending Force) 。
收稿日期: 2003- 10- 20; 修返日期: 2003- 12- 26 基金项目: 国家自然科学基金资助项目( 60273063)
439 216
hk
1
-
8 hk2+
3680 513
h
3-
845 4104
hk
2)
它要求计算五个函数值, 但只 是一个 四阶的 方法, 因此单
独使用并没有什么好处, 它 可以增 加一个 函数值( 而 不需要改
变已有的五个函数值)就能得到一个高一阶的 方法:
u m+ 1=
um+
h
(
16 135
k
1
+
6656 12825
ZHAN G Zong- guo , L U O Xiao- nan ( Insti t ute of Comp ut er A ppl icati on , Su n Yat se n U niv ersity , Gua ngz hou G uangdong 510275, Chi na)
Abstract: W e use the classical mass spr ing model, analysis the equations that describe the mechanical behavior of the discrete representation of cloth. And w e use Self Adaptive Runge Kutta method to solve the equations. T he method achieves real time dynamic simulation of cloth, and gives the output of ex periment. Key words: Flexible Cloth; M ass spr ing M odel; Self A daptation Method; Runge Kutta M ethod