我正在尝试模拟绳索对象。我理解的公式是由弹簧连接的粒子阵列。这些弹簧具有非常大的 k 值,因此线会变形,但拉伸很小。我得出的结论是,在封闭形式中不可能解决这个作为时间函数的问题,因为绳索是钟摆的概括(不是封闭形式)。
那么,寻求近似解决方案。我需要一个可扩展的算法。我见过的示例使用显式或隐式欧拉积分来移动粒子。这不成比例。
要看到这一点,请考虑具有 n 个节点的绳索。对一端施加很大的力。因为绳子不应该拉伸太多,所以另一端的加速度必须是立即的。
然而,通过欧拉积分,将任何力传递到另一端需要 n 个步骤。我注意到一个指数衰减:如果第一个节点加速一定量,则相邻节点加速较少(如果它们以相同的速率加速,则算法不稳定)。因此,与该节点相邻的节点加速得更慢!
因此,对于 n 个节点,加速度几乎可以忽略不计。这导致绳索显着伸展。如果您只想将模拟的分辨率提高一倍,您突然需要采取数十或数百倍的时间步长才能获得类似的行为。
我正在寻找一种简单的方法来解决这个问题——即,更高分辨率的模拟只需多项式时间额外计算即可收敛到解决方案。提供完整的矩阵和线性代数技术库。我的经典力学知识非常好,还懂得一些数值分析。