我使用以下公式来实现速度verlet算法(这里用一种伪代码编写):
time+=timeStep;
newPosition+=timeStep*(velocity+acceleration*timeStep*0.5);
newA = Force/mass, force is a function of newPosition
v+= 0.5*timeStep*(newA-acceleration);
这不起作用! newA-acceleration非常小。我使用错误的公式吗?或者,对于小时间步(我使用2秒),速度verlet算法是否工作不正常?
(对不起,顺便提一下,如果错误的地方,还不知道还有什么地方可以放的话)
答案 0 :(得分:1)
应该是newA +加速,而不是newA-acceleration。糟糕!