c_cpp 从欧拉角到轴旋转

Posted

tags:

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

cv::Matx33f from_euler_to_axis_rotation(const cv::Vec3f& _eulerAngles){
        cv::Matx33f X = cv::Matx33f::eye();
        cv::Matx33f Y = cv::Matx33f::eye();
        cv::Matx33f Z = cv::Matx33f::eye();

        float x = _eulerAngles[0];
        float y = _eulerAngles[1];
        float z = _eulerAngles[2];

        X(1, 1) = cos(x);
        X(1, 2) = -sin(x);
        X(2, 1) = sin(x);
        X(2, 2) = cos(x);

        Y(0, 0) = cos(y);
        Y(0, 2) = sin(y);
        Y(2, 0) = -sin(y);
        Y(2, 2) = cos(y);

        Z(0, 0) = cos(z);
        Z(0, 1) = -sin(z);
        Z(1, 0) = sin(z);
        Z(1, 1) = cos(z);

        cv::Matx33f R = Z * Y * X;
        
        cv::Vec3f rvec;
        cv::Rodrigues(R, rvec);
        
        return rvec;
    }

以上是关于c_cpp 从欧拉角到轴旋转的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 从3D矢量的欧拉角度

如何从旋转向量中获取欧拉角(Sensor.TYPE_ROTATION_VECTOR)

c_cpp 如何从3D矢量计算轴旋转或旋转矩阵

Unity编程四元数(Quaternion)与欧拉角

unity3d把 x的欧拉角赋给y啥作用

c_cpp 项目欧拉问题0070解决方案