如何将矢量旋转到另一个矢量

时间:2018-04-18 16:10:19

标签: opengl math rotation rotational-matrices

我有两个3D矢量AB和这两个矢量之间的角度alpha。我想更改此角度,并将向量B向角度alpha的3/7向A方向旋转。

我怎样才能以最简单的方式做到这一点?

我目前的方法是根据两个向量创建一个描述平面的矩阵,然后将旋转矩阵与alpha的角度3/7相乘,其中alpha由A和{{1}的叉积确定}。

嗯,它有效,但我认为这是一种矫枉过正,可以简化。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以创建跨产品。然后,该向量是四元数旋转的基础,即3 / 7alpha。

虽然所有这些都将归结为相同的数学。因此,如果您的解决方案有效,请将其封装到一个函数&要开心。矩阵是有利的(无论你从哪里得到它,四元数或你的方法)因为它可以与其他人一起组成,例如本地到世界坐标。