我试图学习Verlet集成,主要是因为我很无聊,并且想为我正常的“弹跳球”学习练习增添趣味。

我在http://sandbox.electricgrey.com:8080/physics/上有一个简单的弹跳球Canvas / HTML5页面。如果单击它,您会注意到球并不总是弹回相同的高度。有时它较高,有时它较低。为什么这样做呢?

是因为我简化太多了吗?我是否真的需要计算部分时间步长,以便我准确地知道球何时/何处碰撞,然后从那里继续?

PS:如果您对我的HTML或Javascript有任何评论,我希望听到他们的评论。我只是在学习如何使用Javascript进行编码,并且我想确保自己正在执行“正确的方式”。

最佳答案

在Verlet算法中,最重要的是计算下一步所需的时间。使用Verlet算法时:基本还是速度?您与地板碰撞的想法是什么?我可以看到每次都不在同一高度上的碰撞点。在这种情况下,您必须计算到碰撞的时间(t1)与t1进行移动,进行碰撞,然后随时间进行移动(t_step-t1)。我在this model的第一个实现中使用了此方法

09-25 19:37