如何计算加速运动物体(例如汽车)在某个时间(例如1秒)后的位置?
对于匀速运动的物体,其运动是线性关系,因此我推测对于加速运动的物体,其中涉及到平方。
有什么想法吗?
s = s + u * dt;
u = u + a * dt;
其中dt是帧的长度(使用计时器测量:大约1/60秒)。这种方法的优点是加速度可以随时间变化。
编辑 有几个人指出,欧拉数值积分法(如此处所示)虽然最容易演示,但精度相对较差。参见Velocity Verlet(常用于游戏)和四阶龙格-库塔法(一种用于科学应用的“标准”方法)以获取更好的算法。
s += vt + (at^2)/2
。对于速度来说也是如此,它也与欧拉方程相同。 - MestreLions = ut+1/2 at^2
v[n] = v[n-1] * t * a[t]
n
是索引,t
是时间步长的大小。位置同样也被更新。这种方法只适用于精度不是特别重要的情况。欧拉方法的一个特殊版本可以得出抛体运动的精确解(参见维基百科),因此虽然该方法比较粗糙,但在某些情况下可能是完美的选择。
在游戏和一些化学模拟中最常用的数值积分方法是Velocity Verlet,它是更通用的Verlet方法的一个特殊形式。如果欧拉方法太粗糙,我会推荐使用这种方法。
v[n] = v[n-1] + t * a[t]
。t*a[t]
组件被加到之前的速度上,而不是乘以它。 - MestreLionp(t) = x(0) + v(0)*t + (1/2)at^2
其中:假设您正在处理恒定加速度,公式如下:
距离 =(初始速度 * 时间)+(加速度 * 时间 * 时间)/ 2
其中
距离是行驶的距离
初始速度是初始速度(如果物体最初静止,则为零,因此在这种情况下可以省略此项)
时间是时间
加速度是(恒定的)加速度
计算时请确保使用正确的单位,例如米,秒等。
关于此主题的一本非常好的书籍是《游戏开发物理学》。
假设加速度恒定且初始速度为v0,
x(t) = (1/2 * a * t^2) + (v0 * t)