旋转向量
2017-06-19 10:38
183 查看
处理三维旋转问题时,通常采用旋转矩阵的方式来描述。一个向量乘以旋转矩阵等价于向量以某种方式进行旋转。除了采用旋转矩阵描述外,还可以用旋转向量来描述旋转,旋转向量的长度(模)表示绕轴逆时针旋转的角度(弧度)。旋转向量与旋转矩阵可以通过罗德里格斯(Rodrigues)变换进行转换。
OpenCV实现Rodrigues变换的函数为
src为输入的旋转向量(3x1或者1x3)或者旋转矩阵(3x3)。
dst为输出的旋转矩阵(3x3)或者旋转向量(3x1或者1x3)。
jacobian为可选的输出雅可比矩阵(3x9或者9x3),是输入与输出数组的偏导数。
` 处理三维旋转问题时,通常采用旋转矩阵的方式来描述。一个向量乘以旋转矩阵等价于向量以某种方式进行旋转。除了采用旋转矩阵描述外,还可以用旋转向量来描述旋转,旋转向量的长度(模)表示绕轴逆时针旋转的角度(弧度)。旋转向量与旋转矩阵可以通过罗德里格斯(Rodrigues)变换进行转换。
OpenCV实现Rodrigues变换的函数为
src为输入的旋转向量(3x1或者1x3)或者旋转矩阵(3x3)。
dst为输出的旋转矩阵(3x3)或者旋转向量(3x1或者1x3)。
jacobian为可选的输出雅可比矩阵(3x9或者9x3),是输入与输出数组的偏导数。
可以用上述方式法验证以下例子
OpenCV实现Rodrigues变换的函数为
int cvRodrigues2( const CvMat* src, CvMat* dst, CvMat* jacobian=0 );
src为输入的旋转向量(3x1或者1x3)或者旋转矩阵(3x3)。
dst为输出的旋转矩阵(3x3)或者旋转向量(3x1或者1x3)。
jacobian为可选的输出雅可比矩阵(3x9或者9x3),是输入与输出数组的偏导数。
` 处理三维旋转问题时,通常采用旋转矩阵的方式来描述。一个向量乘以旋转矩阵等价于向量以某种方式进行旋转。除了采用旋转矩阵描述外,还可以用旋转向量来描述旋转,旋转向量的长度(模)表示绕轴逆时针旋转的角度(弧度)。旋转向量与旋转矩阵可以通过罗德里格斯(Rodrigues)变换进行转换。
OpenCV实现Rodrigues变换的函数为
int cvRodrigues2( const CvMat* src, CvMat* dst, CvMat* jacobian=0 );
src为输入的旋转向量(3x1或者1x3)或者旋转矩阵(3x3)。
dst为输出的旋转矩阵(3x3)或者旋转向量(3x1或者1x3)。
jacobian为可选的输出雅可比矩阵(3x9或者9x3),是输入与输出数组的偏导数。
可以用上述方式法验证以下例子
#include <stdio.h> #include <cv.h> void main() { int i; double r_vec[3]={-2.100418,-2.167796,0.273330}; double R_matrix[9]; CvMat pr_vec; CvMat pR_matrix; cvInitMatHeader(&pr_vec,1,3,CV_64FC1,r_vec,CV_AUTOSTEP); cvInitMatHeader(&pR_matrix,3,3,CV_64FC1,R_matrix,CV_AUTOSTEP); cvRodrigues2(&pr_vec, &pR_matrix,0); for(i=0; i<9; i++) { printf("%f\n",R_matrix[i]); } }
相关文章推荐
- 向量绕轴旋转
- 计算两向量的旋转角(转)
- 编程珠玑 一维向量左旋转
- 简单几何(向量旋转+凸包+多边形面积) UVA 10652 Board Wrapping
- 向量旋转的计算公式
- 第二章 啊哈!算法 (向量旋转)
- C++实现一维向量旋转算法
- Board Wrapping(计算几何求凸包加向量的旋转)
- poj 2991 Crane(向量旋转+线段树成段更新)
- 旋转:矩阵,四元数和欧拉角向量(2013-08-16 09:54:47)
- POJ2991_Crane_计算几何::向量化|向量旋转公式||线段树维护向量和
- 旋转矩阵、DCM、旋转向量、四元数、欧拉角相关
- 向量旋转算法集锦(转载)
- 探讨:物体绕任意向量的旋转-四元数法VS.旋转矩阵法的性能比较
- Eigen中欧拉角,旋转向量,旋转矩阵,四元数的转换
- 向量旋转 UPC 2217
- sdut2603&hdu1700(向量旋转)
- [摘]探讨:物体绕任意向量的旋转-四元数法VS.旋转矩阵法的性能比较
- 根据旋转前后的向量值求旋转矩阵
- n元一维向量旋转问题(编程珠玑--第2章--问题B )