如何计算给定两个xy向量的速度?

我有一些代码可以返回移动太空船的x和y线速度。 我怎么能结合这些给我总速度?

x = self.player._box2dBody.GetLinearVelocity().x; y = self.player._box2dBody.GetLinearVelocity().y; 

因此,如果:
x = 1.99
y = -1.63

我如何计算总速度?

在这种情况下, 向量的长度将被视为速度,因为向量本身表示速度(速度和方向)。 这也被称为大小 。 你得到的.x.y的vector类可能已经有了一个内置的实现来获取幅度或长度。

在这里输入图像说明

哪里 一个巨大的 是vector的大小。

我建议你阅读线性代数。 Wolfire在这个话题上汇集了一系列不错的博客文章 ,这些博客文章应该能够帮助您快速掌握基础知识。

你还记得早期的高中math吗?

三角形

蓝色边的长度是3。
绿色方面的长度是4,
因此红边的长度是SQRT(3 2 + 4 2

想象一下,绿线是X速度,蓝线是Y速度。


话虽如此,是的,所以读了一些math。 它会非常方便,Byte56的答案确实包含了这一点。 我只是发布这个添加一个更简单的版本。