处理三维旋转问题时通常采用matlab旋转矩阵阵的方式来描述。一个向量乘以matlab旋转矩阵阵等价于向量以某种方式进行旋转除了采用matlab旋转矩阵阵描述外,还可以用旋转向量来描述旋转旋转向量的长度(模)表示绕轴逆时针旋转的角度(弧度)。旋转向量与matlab旋转矩阵阵可以通过罗德里格斯(Rodrigues)变换进行转换
式中,norm为求向量的模反变换也可以很容易的通过如下公式实现:
新手, 积分 5, 距离下一级还需 45 积分 |
|
||
matlab具有强大的数据处理和数据可视囮能力对于一些已经基本确定的c函数模块(不需要再单步调试找bug),又需要对数据进行一定分析处理(作图拟合等)才能确定c函数模塊的一些性能,那就合适使用matlab来测试c函数模块了
在单值传递的基础上增加以下2步
(1)matlab ->c,把輸入矩阵转换为按行存储再传递给C函数模块;
(2)c->matlab把C函数模块的输出矩阵转换为按行存储,再传递给Matlab
(1)可以通过编写mxArray和c结构体相互轉换的函数来实现,需要熟练掌握对mxArray数据的操作
(2)把输入和输出数据写入txt文件来传递,本文采用此方法
处理三维旋转问题时通常采用matlab旋转矩阵阵的方式来描述。一个向量乘以matlab旋转矩阵阵等价于向量以某种方式进行旋转除了采用matlab旋转矩阵阵描述外,还可以用旋转向量来描述旋转旋转向量的长度(模)表示绕轴逆时针旋转的角度(弧度)。旋转向量与matlab旋转矩阵阵可以通过罗德里格斯(Rodrigues)变换进行转换
式中,norm为求向量的模反变换也可以很容易的通过如下公式实现: