这里不会讲解原理,未避免重复造轮子,给出简便方法
1,首先下载c++操作矩阵工具类Eigen,或者在这里下载。
2,下载后解压,把Eigen文件夹拷贝出来备用。
3,VS工程包含目录加上刚才文件夹的路径
4,加上头文件和命名空间
#include <Eigen/Dense>
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <Eigen/StdVector>
using namespace Eigen;
5,根据旋转轴和角度计算旋转矩阵
Vector3d vector(x, y, z);//旋转轴
double angle;//旋转角度
AngleAxisd rotationVector(angle, vector.normalized());
Matrix3d rotationMatrix = Eigen::Matrix3d::Identity();
rotationMatrix = rotationVector.toRotationMatrix();//所求旋转矩阵