主要内容

quatrotate

用四元数旋转向量

描述

例子

n= quatrotate (r计算旋转的矢量,n,对于四元数,,和向量,r.如果四元数尚未归一化,则函数将其归一化。

航空航天工具箱使用使用标量优先约定定义的四元数。这个函数对所有四元数输入进行归一化。

例子

全部折叠

这个例子展示了如何用1 × 4四元数旋转1 × 3向量。

Q = [1 0 1 0];R = [1 1 1];N = quatrotate(q, r)
n =1×3-1.0000 1.0000 1.0000

这个例子展示了如何用1 × 4四元数旋转两个1 × 3向量。

Q = [1 0 1 0];R = [1 1 1;2 3 4];N = quatrotate(q, r)
n =2×3-1.0000 1.0000 1.0000 -4.0000 3.0000 2.000

这个例子展示了如何将一个1乘3的向量旋转两个1乘4的四元数。

Q = [1 0 1 0;1 0.5 0.3 0.1];R = [1 1 1];N = quatrotate(q, r)
n =2×3-1.0000 1.0000 0.8519 1.4741 0.3185

这个例子展示了如何用多个四元数旋转多个向量。

Q = [1 0 1 0;1 0.5 0.3 0.1];R = [1 1 1;2 3 4];N = quatrotate(q, r)
n =2×3-1.0000 1.0000 1.0000 1.3333 5.1333 0.9333

输入参数

全部折叠

四元数或四元数的集合,指定为4矩阵包含四元数,或者一个1 × 4的四元数。每个元素都必须是实数。

必须将其标量数作为第一列。

数据类型:|

要旋转的向量或向量集,指定为3矩阵,包含向量,或者一个1 × 3数组。每个元素都必须是实数。

数据类型:|

输出参数

全部折叠

旋转的向量,返回为an3矩阵。

更多关于

全部折叠

四元数的形式:

0 + 1 + j 2 + k 3.

r

向量r的形式:

v v 1 + j v 2 + k v 3.

n

旋转矢量n的形式:

v v 1 v 2 v 3. 1 2 2 2 2 3. 2 2 1 2 + 0 3. 2 1 3. 0 2 2 1 2 0 3. 1 2 1 2 2 3. 2 2 2 3. + 0 1 2 1 3. + 0 2 2 2 3. 0 1 1 2 1 2 2 2 2 v 1 v 2 v 3.

这个方程的方向余弦矩阵需要一个归一化四元数。

参考文献

史蒂文斯,布莱恩L.,弗兰克L.刘易斯。飞机控制与仿真,第二版。霍博肯:约翰·威利父子公司,2003。

[2] Diebel,詹姆斯。表示姿态:欧拉角、单位四元数和旋转矢量。斯坦福大学,加州斯坦福,2006年。

介绍了R2006b