我正在使用libgdx创建一个关于抛射物运动的模拟器,类似于this。根据我的理解,速度x和速度y是分开的并且不会相互影响,因此被倾斜的物体将由于重力而下降。所以这意味着如果物体初始速度是40米/秒那么这意味着它只是水平引用?或x = 40m / s,那么在计算初始速度和角度的x和y速度时,要遵循的公式是什么?
答案 0 :(得分:1)
"速度"是" velocity"的标量版本,所以如果你想象速度的x
和y
分量形成一个直角三角形,那么速度是sqrt(x^2 + y^2)
每个毕达哥拉斯。
由此得出,初始x
速度实际上是speed * cos(angle)
而y
是speed * sin(angle)
,其中angle
是以地平线的弧度来衡量的。< / p>
答案 1 :(得分:1)
首先,
所以这意味着如果物体初始速度是40米/秒,则意味着它只是水平引用 Nop 40m / s(可以说这是 v )意味着初始发射速度可以“分解”为2个彼此垂直的部分, x = vCos(角度) 和 y = vSin(角度)
因此,如果你按照这些公式设法在屏幕上绘制点,那么你可以绘制路径。(在飞行的任何时刻x / y的确切公式是Y = yt-0.5gt ** 2和X = xt)..记住这些公式只在没有空气的情况下才有效,
一旦有空气阻力,事情就会有点奇怪,微积分会占据整个事物......我相信这可以解释你所处的情况。
答案 2 :(得分:1)
@Alnitak已经确定了初始速度部分 - 您需要知道初始速度和初始角度(从水平方向上测量),然后您可以使用他的公式计算出的初始x和y分量速度(称为x0
和y0
- 这些是固定数字或常量)。
缺少的所有答案都是如何计算速度的x和y分量随时间变化的方式。
假设没有空气阻力(对于典型的游戏可能是公平的),没有水平加速度,这意味着x分量始终固定在x0
。
垂直地由于重力导致加速g
,通常由9.8ms-2
近似,但你可以调整它以使感觉正确。
要在时间y
秒之后获得垂直速度t
,假设它以初始垂直速度y0
(您已经计算过)开始,则可以执行以下操作:
y = y0 - 9.8*t
(重力下降后减去)
因此,在时间t
,您的速度为(x0, y0 - 9.8*t)
。
Google&#39;运动学方程式&#39;了解更多信息