我使用以下公式来实现速度 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 加速度非常小。我使用了错误的公式吗?还是 velocity verlet 算法在小时间步长(我使用的是 2 秒)时效果不佳?
(对不起,顺便说一下,如果这是在错误的地方,不知道还能放在哪里)
最佳答案
应该是newA+加速,不是newA-加速。糟糕!
关于java - 实现velocity verlet算法java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33927156/