cuaternión
Descripción
Un cuaternión es un número hipercomplejo de cuatro partes que se usa en orientaciones y rotaciones tridimensionales.
Un número de cuaternión se representa en la forma , donde a, b, c y d las partes son números reales, e i, j y k son los elementos base, que satisfacen la ecuación: i2 = j2 = k2 = ijk = −1.
El conjunto de cuaterniones, denotado por H, se define dentro de un espacio vectorial de cuatro dimensiones sobre los números reales, R4. Cada elemento de H tiene una representación única basada en una combinación lineal de los elementos básicos, i, j y k.
Todas las rotaciones en 3D se pueden describir mediante un eje de rotación y un ángulo en torno a ese eje. Una ventaja de los cuaterniones sobre las matrices de rotación es que el eje y el ángulo de rotación son fáciles de interpretar. Por ejemplo, considere un punto en R3. Para rotar el punto, se define un eje de rotación y un ángulo de rotación.
La representación del cuaternión de la rotación se puede expresar como , donde θ es el ángulo de rotación y [ub, uc, y ud] es el eje de rotación.
Creación
Sintaxis
Descripción
crea un cuaternión vacío.quat
= quaternion()
crea un arreglo de cuaterniones donde las cuatro partes de cuaterniones se toman de los arreglos quat
= quaternion(A,B,C,D
)A
, B
, C
y D
. Todas las entradas deben tener el mismo tamaño y ser del mismo tipo de datos.
crea un arreglo de cuaterniones N por 1 a partir de un arreglo de cuaterniones N por 4, donde cada columna se convierte en una parte de el cuaternión.quat
= quaternion(matrix
)
crea un arreglo de cuaterniones N N -por-1 a partir de una matriz de vectores de rotación N -por-3, quat
= quaternion(RV
,"rotvec")RV
. Cada fila de RV
representa un vector de rotación en radianes.
crea un arreglo de cuaterniones N -por-1 a partir de una matriz de vectores de rotación N-por-3, quat
= quaternion(RV
,"rotvecd")RV
. Cada fila de RV
representa un vector de rotación en grados.
crea un arreglo de cuaterniones a partir de la transformación SE(3) quat
= quaternion(transformation
)transformation
.
crea un arreglo de cuaterniones a partir de la rotación SO(3) quat
= quaternion(rotation
)rotation
.
Argumentos de entrada
Funciones del objeto
angvel | Velocidad angular del arreglo de cuaterniones |
classUnderlying | Clase de partes dentro del cuaternión |
compact | Convertir arreglo de cuaterniones a matriz N por 4 |
conj | Conjugado complejo de cuaternión |
' | Transpuesta conjugada compleja de arreglo de cuaterniones |
dist | Distancia angular en radianes |
euler | Convierte un cuaternión en ángulos de Euler (radianes) |
eulerd | Convertir un cuaternión en ángulos de Euler en grados |
exp | Exponencial de arreglo de cuaterniones |
.\,ldivide | División izquierda del cuaternión por elementos |
log | Logaritmo natural del arreglo de cuaterniones |
meanrot | Rotación media del cuaternión |
- | Resta de cuaterniones |
* | Multiplicación de cuaterniones |
norm | Norma de un cuaternión |
normalize | Normalización de un cuaternión |
ones | Cree un arreglo de cuaterniones con partes reales establecidas en uno y partes imaginarias establecidas en cero |
parts | Extraer partes de cuaternión |
.^,power | Poder de cuaternión por elementos |
prod | Producto de arreglo de cuaterniones |
randrot | Rotaciones aleatorias distribuidas uniformemente |
./,rdivide | División derecha de cuaterniones por elementos |
rotateframe | Rotación del marco del cuaternión |
rotatepoint | Rotación del punto cuaternión |
rotmat | Convertir un cuaternión en matriz de rotación |
rotvec | Convertir cuaternión en vector de rotación (radianes) |
rotvecd | Convertir cuaternión en vector de rotación (grados) |
slerp | Interpolación lineal esférica |
.*,times | Multiplicación de cuaterniones por elementos |
' | Transponer arreglo de cuaterniones |
- | Cuaternión unario menos |
zeros | Cree un arreglo de cuaterniones con todas las partes establecidas en cero |
Ejemplos
Capacidades ampliadas
Historial de versiones
Introducido en R2019b