查找3D中以指定角度垂直于另一个的矢量

时间:2019-04-05 05:16:13

标签: c++ linear-algebra glm-math

我有3个角度,每个角度代表偏航,横摇和俯仰。

我想将它们转换为方向矢量(由偏航和俯仰创建)和右矢量,该矢量垂直于方向矢量并旋转了“侧倾”角。

我已经从this帖子中找出了方向部分,但是我无法弄清楚如何以一个角度计算正确的向量。

到目前为止,我的功能是这样的:

// "angles" is an input, while "direction" and "right" are outputs
// "angles" has x as the rotation about the x axis, y as the rotation
// about the y axis, and z as the rotation of the right vector 
// around the direction vector
void angles_to_vectors(glm::vec3 angles, glm::vec3* direction, glm::vec3* right)
{
    *direction = glm::normalize(
            glm::vec3(glm::cos(angles.y) * glm::cos(angles.x),
                      glm::sin(angles.y) * glm::cos(angles.x),
                      glm::sin(angles.x)));

    // Part I am stuck on
    *right = glm::vec3(/* What goes in here? */);
}

感谢您的帮助。

0 个答案:

没有答案