Math 简单的转向行为:解释这条线

Math 简单的转向行为:解释这条线,math,artificial-intelligence,physics,Math,Artificial Intelligence,Physics,我正在读《通过示例编程游戏AI》,他给出了 使实体减速以使其到达的转向行为 优雅地瞄准目标。计算距离后,目标到目标的距离 那么他基本上就是这么做的 double speed = dist/deceleration; 我只是不明白这是从哪里来的,但是,我是不是错过了什么 真的很明显吗?书中没有把它列为已知错误,所以我猜是这样的 是正确的。如果这有一些物理事实,那么双方的单位都会匹配 据我所知,这类似于芝诺的悖论,你试图到达某个地方,但你永远无法到达那里,因为你总是只走剩余距离的1/1 假设 模拟

我正在读《通过示例编程游戏AI》,他给出了 使实体减速以使其到达的转向行为 优雅地瞄准目标。计算距离后,目标到目标的距离 那么他基本上就是这么做的

double speed = dist/deceleration;
我只是不明白这是从哪里来的,但是,我是不是错过了什么 真的很明显吗?书中没有把它列为已知错误,所以我猜是这样的
是正确的。

如果这有一些物理事实,那么双方的单位都会匹配

据我所知,这类似于芝诺的悖论,你试图到达某个地方,但你永远无法到达那里,因为你总是只走剩余距离的1/1

假设

模拟以每秒一次的间隔进行。 减速度=5 距离=1000米 在这些初始条件下,速度将设置为每秒200米。由于模拟每隔一秒钟进行一次,因此我们将精确行进200米,即剩余距离的五分之一,并最终到达距离目标800米的位置。新的速度被确定为:每秒160米

以下是前30秒发生的情况:

最后30秒:

最后10秒:

观察

在最初的30秒内,我们行进了大约998米 在前50秒内,我们跑了999.985米 在最后10秒内,我们只覆盖了约1.2厘米 正如你所看到的,你很快就可以到达那里,但是需要很长时间才能接近


WolframAlpha的绘图

也许你的计算中缺少了一些东西。对于恒定加速或减速,忽略初始条件,速度为

v = a * t
距离是

d = a * t^2 / 2
如果在两个方程中都消去t,则得到

v = a * sqrt(2 * d / a)

距离应该是这个距离的一半;这些公式仅在从v=0开始时有效,而在减速(即从v=v_0开始)时无效≠ 0就像这个问题一样。是的。这就是“忽略初始条件”的含义。但是对这一点的修正是相当令人震惊的,不是吗?对于减速来说,它可能不是那么明显。这个等式没有意义。你介意给我们看一下他写的东西吗?游戏距离是四舍五入到整数像素的,因此如果你在最后30秒内的距离小于0.5,你就停下来。@Petr我们不知道比例是多少。