我有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? */);
}
感谢您的帮助。