2.12 物理模拟提问

请问在 simulation_update 函数中,具体应该如何实现伪代码中循环体部分,也就是对物体运动状态的更新呢?
while remained_duration > time_step
for each object
update each its state
是否是调用 object.cpp/update 函数来实现呢

需要调用

这里只要直接对每个 Object 调用它的 update 方法即可。

点一下 start 再点一下 stop 前进一个 timestep

这种情况我一下也猜不出原因,比较倾向于是 simulation_update 中没有正确地更新 last_update 变量,导致模拟过程中虽然在循环里一直转但始终认为已经过去的时间不到一个 time_step。每次点击 stop 再重新开始时会重置 last_update,所以能移动一步,一步之后由于渲染帧时长计算错误就再也不动了。