通给给定旋转轴向量v,旋转角度ang,计算出旋转矩阵
来源:互联网 发布:搜本子的软件 编辑:程序博客网 时间:2024/04/30 11:03
chai3d中通过计算旋转轴和角度来获得旋转矩阵Matrix3
- inline bool rotateAboutLocalAxisRad(const cVector3d& a_axis,
- const double& a_angleRad)
- {
- // compute length of axis vector
- double length = a_axis.length();
- // check length of axis vector
- if (length < C_TINY)
- {
- // rotation matrix could not be computed because axis vector is not defined
- return (false);
- }
- // normalize axis vector
- double f = 1.0 / length;
- double x = f * a_axis(0);
- double y = f * a_axis(1);
- double z = f * a_axis(2);
- // compute rotation matrix
- double c = ::cos(a_angleRad);
- double s = ::sin(a_angleRad);
- double v = 1-c;
- cMatrix3d m;
- m(0,0) = x*x*v+c; m(0,1) = x*y*v-z*s; m(0,2) = x*z*v+y*s;
- m(1,0) = x*y*v+z*s; m(1,1) = y*y*v+c; m(1,2) = y*z*v-x*s;
- m(2,0) = x*z*v-y*s; m(2,1) = y*z*v+x*s; m(2,2) = z*z*v+c;
- (*this) = (*this)*m;
- // return success
- return (true);
- }
上面的函数中的绕任意轴旋转获得的旋转矩阵的算法实现思路如下:
根据Goldman给出的公式进行计算,这个公式有点复杂:
具体推导过程可以参考:
http://www.cppblog.com/lovedday/archive/2008/01/12/41031.html
http://www.cnblogs.com/cg_ghost/archive/2012/04/27/2473347.html
0 0
- 通给给定旋转轴向量v,旋转角度ang,计算出旋转矩阵
- 向量逆时针旋转ang度
- 旋转向量-旋转矩阵
- 旋转矩阵和旋转向量
- 由旋转矩阵反算旋转角度
- 旋转向量与旋转矩阵相互转化
- openCV---旋转向量转旋转矩阵
- 四元数和旋转轴及旋转角度之间的转换理解实例
- 旋转矩阵及旋转向量相互转化 Rodrigues矩阵
- Android中SensorManager.getRotationMatrix函数:计算出旋转矩阵,
- 已知旋转矩阵求轴角度
- OpenCV--旋转向量与旋转矩阵相互转化
- 旋转矩阵、DCM、旋转向量、四元数、欧拉角相关
- 旋转向量和旋转矩阵的互转换
- 旋转矩阵,欧拉角,四元数,旋转向量(轴-角)
- 旋转:矩阵,四元数和欧拉角向量
- 旋转:矩阵,四元数和欧拉角向量
- XNA旋转:矩阵,四元数和欧拉角向量 .
- python 如何将字符串转化为datetime.date【获取指定日期的上月和两个日期之间相差的月数】
- 国内各地图API坐标系统比较与转换
- 博弈论-囚徒困境与重复囚徒困境的启示
- 【BZOJ4236】JOIOJI【数学】【排序】【乱搞】
- Java编程手册-泛型
- 通给给定旋转轴向量v,旋转角度ang,计算出旋转矩阵
- APK极限压缩
- 15电气郄慧敏 高级排序
- ReactiveCocoa - iOS开发的新框架
- 写不对 = =
- AngularJS 中的scope($scope)
- 关于iPhone4s 设置手机铃声过程中的问题
- plsql免客户端连接
- 出现15个数