主要内容

rotvecd

将四元数转换为旋转矢量(度)

描述

例子

rotationVector= rotvecd (皮疹转换四元数数组,皮疹,一个N等价旋转向量的- × 3矩阵。的元素皮疹在转换前进行规范化。

例子

全部折叠

将一个随机四元数标量转换为一个旋转矢量的角度。

皮疹=四元数(randn (1,4);rotvecd(皮疹)
ans =1×396.6345 -119.0274 45.4312

输入参数

全部折叠

要转换的四元数,指定为标量、向量、矩阵或四元数的多维数组。

数据类型:四元数

输出参数

全部折叠

旋转向量表示,返回为N- × 3旋转向量矩阵,其中每一行表示[xyz旋转向量的角度,以度数表示。的th排rotationVector对应于元素皮疹(我)

旋转向量的数据类型与底层的数据类型相同皮疹

数据类型:|

算法

所有的三维旋转都可以用四个元素来表示:一个三元素旋转轴和一个旋转角度。如果旋转轴被限制为单位长度,那么旋转角度可以分布在向量元素上,从而将表示减少到三个元素。

回想一下四元数可以用轴角形式表示

因为 θ 2 + θ 2 西 + y j + z k

在哪里θ为旋转角度,以度数表示,[xyz表示旋转轴。

给定四元数的形式

一个 + b + c j + d k

你可以用四元数的轴角形式来求旋转角度:

θ 2 因为 1 一个

假设一个标准化的轴,您可以将四元数重写为一个旋转矢量,而不会通过分布而丢失信息θ超过的部分bc,d.的旋转向量表示

房车 θ θ 2 b c d

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

另请参阅

功能

对象

介绍了R2018b