h****g 发帖数: 56 | 1 小弟正在作一个physical simulation的程序, 需要求解多个轴连接的
刚体的运动, 采用数值解法, 每个时间间隔算一次各体的运动参数, 包
括质心位置, 转角, 速度等, 用一阶近似求解, 即解一个线性的方程组,
未知数是下一时刻的位置, 转角, 和转轴上的力. 现在碰到一个误差的
问题, 似乎速度的误差特别大, 得到的结果惨不忍睹. 不知那位大侠有
类似的经验, 指教一二. | h****g 发帖数: 56 | 2
这里我只考虑在平面上的运动, 因此比较简单. 假设在时间间隔中力恒定.
每个体有三个方程:
p" = ( F + G ) / M, 位移(x, y)
r" = T / I , 转动
其中 p 是质心坐标(x, y), F 为轴上的力, G为重力, M为质量
r 是转角, T 为力矩, 来自F 和外加在轴上的力矩, I 为转动惯量
每个轴有两个方程:
p1 + J1 = p2 + J2, 同轴(x, y)
其中 p1, p2 是轴相连的两体的质心, J1, J2是两体质心到轴的向量
主要步骤有两个: 解方程和计算下一时刻的状态. 解方程得到质心坐标, 转角.
再计算在下一时刻的速度, 角速度. 这里好象龙格-库塔之类的方法没法用啊 | h***o 发帖数: 539 | 3
write other two equations:
p' = dp / dt, r' = dr / dt, then use runge-kutta method,
plug in the equations for axle, I think you can get what you want.
P.S. if you use the first order approximate, the deviation must be
very large after several time intervals.
4th order Runge-Kutta is a higher order approximate
【在 h****g 的大作中提到】 : : 这里我只考虑在平面上的运动, 因此比较简单. 假设在时间间隔中力恒定. : 每个体有三个方程: : p" = ( F + G ) / M, 位移(x, y) : r" = T / I , 转动 : 其中 p 是质心坐标(x, y), F 为轴上的力, G为重力, M为质量 : r 是转角, T 为力矩, 来自F 和外加在轴上的力矩, I 为转动惯量 : 每个轴有两个方程: : p1 + J1 = p2 + J2, 同轴(x, y) : 其中 p1, p2 是轴相连的两体的质心, J1, J2是两体质心到轴的向量
|
|