图片缩略图

四元数的工具箱

版本1.1.0.0 (25.4 KB) 杰伊·皮埃尔
矢量化四元数的功能

10.3 k下载

更新2009年7月26日

查看许可协议

版本1.3 (JASP) 2009年7月26日

出于这些工具的目的,四元数q只是一个四个元素的向量,其中q(1:3)是超复数的“虚”或“向量”部分,而q(4)是“实”或“标量”部分。因此,如果q表示旋转,则:

问(1)= v1 * sin(φ/ 2)
问(2)= v2 * sin(φ/ 2)
问(3)= v3 * sin(φ/ 2)
问(4)= cos(φ/ 2)

是绕单位向量[v1 v2 v3]旋转的量。

所有工具都是向量化的,因此四元数的“向量”(4xN或Nx4矩阵)也可以处理。因为它是最常见的与规范化四元数(也称为“单位四元数”和“versors”),如果一组4四元数,也就是说,一个4 x4矩阵,输入,工具将试图确定组件的形状四元数(4 x1或1 x4)基于行或列是否规范化。

当然,有些工具,比如QDECOMP,只对规范化的四元数有意义,因此这些工具通过QNORM强制规范化。

Isq -确定输入是否是四元数
Isnormq -确定输入是否为归一化四元数

四元数共轭
标准化四元数
Qmult -四元数相乘

四元数分解为单位向量和旋转角度

对向量的运算:qconj(q) vq
QVQC -对向量的运算:qv qconj(q)

由于作者使用了“航天器姿态确定和控制”(Wertz, 1978)中描述的约定,因此存在以下别名:

四元数/矢量变换(qcvq的别名)
Qvrot—四元数/矢量旋转(别名qvqc)

同样,下面的操作假设DCM与四元数之间的关系为:R*v = qvxform(q, v) = qcvq(q, v),即对v执行等价操作的q为“右手四元数”。

Q2dcm -四元数方向余弦矩阵
Dcm2q方向的四元数余弦矩阵

请注意,许多最近的应用程序,特别是计算机图形库,选择了相反的惯例。也就是说,等效的“q”是“左手四元数”,因此qvxform/qvrot别名和q2dcm和dcm2q函数将是“反向的”。

参见simulink的Quaternion块库qlib。金宝app

引用作为

杰伊·圣皮埃尔(2021)。四元数的工具箱(//www.tatmou.com/matlabcentral/fileexchange/1176-quaternion-toolbox), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2007b
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!