三个欧拉角得到3x3旋转矩阵

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三个欧拉角得到3x3旋转矩阵相关的知识,希望对你有一定的参考价值。

三维坐标系中,已知三个欧拉角alpha,beta,gamma,分别为绕x轴旋转alpha角度,绕y轴旋转beta角度,绕z轴旋转gamma角度。则旋转矩阵Rotation的求法如下:

Mat Rot=Mat::eye(3,3, CV_32FC1);

    Rot.at<float>(0, 0) = cos(beta) * cos(gamma);
    Rot.at<float>(0, 1) = cos(beta) * sin(gamma);
    Rot.at<float>(0, 2) = -sin(beta);
    Rot.at<float>(1, 0) = sin(alpha) * sin(beta) * cos(gamma) - cos(alpha) * sin(gamma);
    Rot.at<float>(1, 1) = sin(alpha) * sin(beta) * sin(gamma) + cos(alpha) * cos(gamma);
    Rot.at<float>(1, 2) = sin(alpha) * cos(beta);
    Rot.at<float>(2, 0) = cos(alpha) * sin(beta) * cos(gamma) + sin(alpha) * sin(gamma);
    Rot.at<float>(2, 1) = cos(alpha) * sin(beta) * sin(gamma) - sin(alpha) * cos(gamma);
    Rot.at<float>(2, 2) = cos(alpha) * cos(beta);

Rotation是3*3矩阵,用于三维空间坐标的旋转。

以上是关于三个欧拉角得到3x3旋转矩阵的主要内容,如果未能解决你的问题,请参考以下文章

3D计算机图形学变换矩阵欧拉角四元数

3D计算机图形学变换矩阵欧拉角四元数

根据相机旋转矩阵求解三个轴的旋转角/欧拉角

我的OpenGL学习进阶之旅关于欧拉角旋转顺序旋转矩阵四元数等知识的整理

我的OpenGL学习进阶之旅关于欧拉角旋转顺序旋转矩阵四元数等知识的整理

使用opencv将旋转矩阵旋转到欧拉角