gpt4 book ai didi

math - 游戏设计中的数值积分、Runge-Kutta、RK4

转载 作者:行者123 更新时间:2023-12-01 14:36:20 28 4
gpt4 key购买 nike

几乎每个游戏都倾向于使用一些游戏循环。 Gafferongames 有一篇关于如何制作精心设计的游戏循环的好文章:http://gafferongames.com/game-physics/fix-your-timestep/

在他的代码中,他使用了 integrate( state, t, deltaTime );,我相信 state 包含对象的位置、速度和加速度。他使用RK4将它从t整合到t+deltaTime

我的问题是,当您可以使用运动学方程 (here) 找到精确值时,为什么还要使用像 RK4 这样的数值积分技术?

当加速度恒定时,这些方程式有效。在一个时间步长内 加速度变化似乎很少见。看起来 RK4 是一种性能较低、精度较低、更复杂的解决方案。

编辑:我认为您可以为对象添加一个“加加速度”值,并且仍然可以找到加速度、速度和位移的精确表达式,如果您真的愿意的话。

编辑 2:嗯,我没有仔细阅读他的“集成基础知识”一文。我认为他正在为阻尼器和 Spring 建模,它们确实会在时间步长内引起非恒定加速度。

最佳答案

一旦您添加了许多游戏设计师想要的东西,例如(速度相关的)阻力、位置相关的力等,方程式就不再能够精确求解。

因此,如果您乐于将力限制在运动学方程可以处理的范围内,那就随它去吧。如果您想要一些灵活的东西,那么数值积分是唯一的出路。

注意:如果您将力在一个时间间隔内视为常数,而实际上它们并不是恒定的 - 那么您实际上是在使用一种形式的数值积分。这也是一种不准确的整合形式。那么,为什么不使用久经考验的数值方法呢? RK4 是许多此类方法中的一种。

关于math - 游戏设计中的数值积分、Runge-Kutta、RK4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9901631/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com