【发布时间】:2012-04-11 16:45:26
【问题描述】:
几乎每个游戏都倾向于使用一些游戏循环。 Gafferongames 有一篇很棒的文章,介绍了如何制作精心设计的游戏循环:http://gafferongames.com/game-physics/fix-your-timestep/
在他的代码中,他使用integrate( state, t, deltaTime );,我相信state 包含对象的位置、速度和加速度。他使用RK4将其从t整合到t+deltaTime。
我的问题是,当您可以使用运动学方程 (here) 找到 精确 值时,为什么还要使用像 RK4 这样的数值积分技术?
当加速度恒定时,这些方程有效。您在一个时间步内会有变化的加速度似乎很少见。看起来 RK4 是一种性能较低、精度较低、更复杂的解决方案。
编辑:如果你真的想的话,我认为你可以为对象添加一个“jerk”值,并且仍然可以找到加速度、速度和位移的精确表达式。
编辑2:好吧,我没有仔细阅读他的“集成基础”文章。我认为他正在模拟一个阻尼器和弹簧,这确实会在一个时间步内导致非恒定加速度。
【问题讨论】:
标签: math physics game-physics numerical-integration