如何使用叉积计算两个2D矢量之间的角度?

时间:2014-11-20 22:05:30

标签: c++ vector sfml angle cross-product

所以这里是同一个问题的链接,但最好的答案并没有完全解释:

Rotate Sprite to Mouse Position

这是我坚持使用的交叉产品,因为该链接中的公式只能应用于计算之外的数学中。

以计算形式计算交叉乘积的实际公式是什么? 如果你可以将它发布为C ++代码那么棒。

请记住,我正在寻找2个2D矢量之间的交叉积,而不是3D。

1 个答案:

答案 0 :(得分:3)

标题表示你有兴趣计算两个2D矢量之间的角度,这就是我的目标。

如果您查看实例http://mathworld.wolfram.com/DotProduct.html,在代码中实现起来相当简单。

然而,atan2功能使这个很容易:

double angle = atan2(p2y, p2x) - atan2(p1y, p1x);