SLAM_四元数取逆-Quaternion Inverse - 已验证
1 四元数的一些运算
2 四元数取逆
对于单位四元数(四元素),其实就是xyz的值分别取反
q = {x,y,z,w}
q_inverse = {-x,-y,-z ,w}
同时旋转矩阵取逆的方法如下:
// float mat[3][3] = { 00 01 02
// 10 11 12
// 20 21 22
// }float m3_det2( float mat[3][3])
{float det;det = mat[0][0] * ( mat[1][1]*mat[2][2] - mat[1][2]*mat[2][1] )- mat[1][0] * ( mat[0][1]*mat[2][2] - mat[0][2]*mat[2][1] )+ mat[2][0] * ( mat[0][1]*mat[1][2] - mat[0][2]*mat[1][1] );return( det );
}int m3_inverse2( float mr[3][3], float ma[3][3] )
{float det = m3_det2( ma );if ( fabs( det ) < 0.0005 ){// m3_identity( mr );return(0);}mr[0][0] = ma[1][1]*ma[2][2] - ma[2][1]*ma[1][2] / det;mr[1][0] = -( ma[1][0]*ma[2][2] - ma[1][2]*ma[2][0] ) / det;mr[2][0] = ma[1][0]*ma[2][1] - ma[1][1]*ma[2][0] / det;mr[0][1] = -( ma[0][1]*ma[2][2] - ma[2][1]*ma[0][2] ) / det;mr[1][1] = ma[0][0]*ma[2][2] - ma[0][2]*ma[2][0] / det;mr[2][1] = -( ma[0][0]*ma[2][1] - ma[0][1]*ma[2][0] ) / det;mr[0][2] = ma[0][1]*ma[1][2] - ma[0][2]*ma[1][1] / det;mr[1][2] = -( ma[0][0]*ma[1][2] - ma[0][2]*ma[1][0] ) / det;mr[2][2] = ma[0][0]*ma[1][1] - ma[1][0]*ma[0][1] / det;return(1);
}
把上面的旋转矩阵取逆后再转换成四元素与四元素直接取逆得到的值一致。
SLAM_四元数取逆-Quaternion Inverse - 已验证相关推荐
- 移位取逆迭代(shifted inverse iteration)求最近特征值和特征向量(python,数值积分)
第二十七篇 移位取逆迭代求最近特征值和特征向量 移位逆迭代 一种比"最大"特征值法更直接实现向量迭代收敛的的特征值方法是将移位向量迭代法改写为下面形式 其中p是一个标量" ...
- 导出Excel出现“异常来自 HRESULT:0x800A03EC”错误的解决方法(已验证)
导出Excel出现"异常来自 HRESULT:0x800A03EC"错误的解决方法(已验证) 参考文章: (1)导出Excel出现"异常来自 HRESULT:0x800A ...
- 四元数船舶领域Quaternion ship domain
四元数船舶领域(Quaternion ship domain, QSD)由确定的四个元素构成: Rfore,Raft,Rstarb,RportR_{fore},R_{aft},R_{starb},R_ ...
- RK3288 NFS rootfs修改和操作(已验证)
1. uboot修改 默认的SDK下,uboot未启用以太网功能,因此需要启用以太网. diff --git a/configs/rk3288_defconfig b/configs/rk3288_d ...
- 解决从GitHub拉取、提交代码一直验证失败的问题
问题概述:GitHub在web端可以正常登录,使用git拉取.提交出现的验证失败,没有使用代理.git用户名.邮箱都设置了,还是不行. 错误信息:fatal: Authentication faile ...
- SLCP验厂辅导,SLCP是向最终用户分享已验证的评估数据的关键
SLCP社会劳工整合项目是可持续服装联盟组织下附属的新评估框架,包含系统的信息收集工具和验证方案,展望逐渐取代业内各自专属的.重复性的审核工具. slcp系统数据托管清单标准: 网关(IT平台和系统) ...
- Windows server 2012R2 设置文件共享目录报错:无法连接到C$管理共享已验证文件夹xxx在计算机xxx上是否存在
Windows server 2012R2 设置文件共享目录报错:无法连接到C$管理共享已验证文件夹xxx在计算机xxx上是否存在 问题描述: Windows server 2012R2 机器,在安装 ...
- quartus 中直接引用的延时模块(Modelsim已验证)
quartus 中直接引用的延时模块(Modelsim已验证) 软件:Quartus,Modelsim 语言:Verilog 引言 在设计时序时,我们经常要用到延时模块,即将某个信号进行延迟N个clk ...
- 2022年《国家职业教育智慧平台应用推广培训》课程-答案--(中职)已验证
2022年<国家职业教育智慧平台应用推广培训>课程-答案(中职)已验证 一.职业教育数字化战略行动的思考 1.ABCD 2.ABCD 3.ABCD 二.职业院校数字化转型升级胡若干思考 1 ...
- 三轴机械臂/三自由度四足单腿DH正逆运动学及matlab验证
实物模型 DH建立坐标系以及正逆运动学推导 Matlab验证 clear; clc; a1=-9.57*0.001;alpha1=pi/2; a2=-59.2*0.001; a3=-77*0.001; ...
最新文章
- recv java_用于TCP套接字编程的Recv函数
- linux进程端口防火墙
- WebClient 文件下载
- c++ cstring 转换 char_LeetCode 709. 转换成小写字母
- OpenGL 文本渲染Text Rendering
- linux的sh文件怎么执行,linux下执行sh文件的四种做法
- hibernate(3)对象关联映射
- HBase环境搭建60010端口无法访问问题解决方案
- 基于python的毕业论文-基于python的飞机大战小游戏毕业论文设计和代码
- java怎么把弹框设置为圆角_自定义圆角Dialog
- 如何快速搭建自己的github.io博客
- 【老九】【Python】函数与模块
- 第八天 字符串 流程控制(二)
- echarts 多个 geo 实现缩放拖拽同步
- 解密阿里云大规模深度学习性能优化实践
- 微信小程序weui-form表单的使用
- easyswoole消息队列
- 数字通信——第一章 绪论
- 分分钟玩转multiprocessing多进程编程?
- 美国计算机科学 嵌入式,申请美国计算机科学(CS)专业,这里有四个中肯建议!...