如何利用旋转矩阵得到四元数
来源:互联网 发布:vb冒泡排序法 编辑:程序博客网 时间:2024/06/06 10:50
如何将给定的旋转矩阵转换为四元数?
function q = vgg_quat_from_rotation_matrix( R )% vgg_quat_from_rotation_matrix Generates quaternion from rotation matrix % q = vgg_quat_from_rotation_matrix(R)q = [ (1 + R(1,1) + R(2,2) + R(3,3)) (1 + R(1,1) - R(2,2) - R(3,3)) (1 - R(1,1) + R(2,2) - R(3,3)) (1 - R(1,1) - R(2,2) + R(3,3)) ];if ~issym(q) % Pivot to avoid division by small numbers [b I] = max(abs(q));else % For symbolic quats, just make sure we're nonzero for k=1:4 if q(k) ~= 0 I = k; break end endendq(I) = sqrt(q(I)) / 2 ;if I == 1 q(2) = (R(3,2) - R(2,3)) / (4*q(I)); q(3) = (R(1,3) - R(3,1)) / (4*q(I)); q(4) = (R(2,1) - R(1,2)) / (4*q(I));elseif I==2 q(1) = (R(3,2) - R(2,3)) / (4*q(I)); q(3) = (R(2,1) + R(1,2)) / (4*q(I)); q(4) = (R(1,3) + R(3,1)) / (4*q(I));elseif I==3 q(1) = (R(1,3) - R(3,1)) / (4*q(I)); q(2) = (R(2,1) + R(1,2)) / (4*q(I)); q(4) = (R(3,2) + R(2,3)) / (4*q(I));elseif I==4 q(1) = (R(2,1) - R(1,2)) / (4*q(I)); q(2) = (R(1,3) + R(3,1)) / (4*q(I)); q(3) = (R(3,2) + R(2,3)) / (4*q(I));end
0 0
- 如何利用旋转矩阵得到四元数
- 利用四元数求解旋转矩阵
- 如何求旋转矩阵
- OpenCV利用矩阵实现图像旋转
- 旋转矩阵 欧拉角 四元数
- 旋转矩阵与四元数
- 四元数和旋转矩阵
- 旋转矩阵与四元数
- 四元数和旋转矩阵
- 四元数和旋转矩阵
- 旋转矩阵与四元数
- 旋转矩阵与四元数
- 利用三维旋转矩阵在空间中旋转平面
- 如何利用matrix旋转图片
- AutoCAD 利用二维线段通过旋转得到三维图
- 三维旋转:旋转矩阵,欧拉角,四元数
- 三维旋转:旋转矩阵,欧拉角,四元数
- 三维旋转:旋转矩阵,欧拉角,四元数
- javascript深入理解js闭包
- oracle日志挖掘dbms_logmnr
- iOS 查看设备中的沙盒数据
- C++ 图像RGB直方图特征提取
- 解决ADB server didn't ACK(亲测)
- 如何利用旋转矩阵得到四元数
- Generating Artifacts问题解决汇总
- springmvc 处理模型数据
- rsync远程同步配置与使用
- android6.0(M) 验证权限 常用工具类一枚
- 给Xcode加点料
- redis 基本命令学习二(sets、sorted sets)
- Python 拷贝对象
- Spring事务管理的5种配置方式