cuaternión
Crear un arreglo de cuaterniones
Descripción
Un cuaternión es un número hipercomplejo de cuatro partes que se usa en orientaciones y rotaciones tridimensionales.
Un número cuaternión se representa con el formato , donde las partes a, b, c y d son números reales, e i, j y k son los elementos básicos que satisfacen la ecuación: i2 = j2 = k2 = ijk = −1.
El conjunto de cuaterniones, indicado mediante 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 en el que las cuatro partes del cuaternión 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 de N por 1 a partir de una matriz de N por 4, donde cada columna se convierte en una parte del cuaternión.quat
= quaternion(matrix
)
crea un arreglo de cuaterniones de N por 1 a partir de una matriz de N por 3 de vectores de rotación, quat
= quaternion(RV
,"rotvec")RV
. Cada fila de RV
representa un vector de rotación en radianes.
crea un arreglo de cuaterniones de N por 1 a partir de una matriz de N por 3 de vectores de rotación, quat
= quaternion(RV
,"rotvecd")RV
. Cada fila de RV
representa un vector de rotación en grados.
crea un arreglo de cuaterniones de la transformación SE(3) quat
= quaternion(transformation
)transformation
.
crea un arreglo de cuaterniones de la rotación SO(3) quat
= quaternion(rotation
)rotation
.
Argumentos de entrada
Funciones del objeto
angvel | Angular velocity from quaternion array |
classUnderlying | Class of parts within quaternion |
compact | Convert quaternion array to N-by-4 matrix |
conj | Complex conjugate of quaternion |
eulerd | Convertir un cuaternión en ángulos de Euler en grados |
dist | Angular distance in radians |
euler | Convierte un cuaternión en ángulos de Euler (radianes) |
exp | Exponential of quaternion array |
ldivide | Element-wise quaternion left division |
log | Natural logarithm of quaternion array |
meanrot | Quaternion mean rotation |
minus, - | Quaternion subtraction |
mtimes, * | Quaternion multiplication |
norm | Norma de un cuaternión |
normalize | Normalización de un cuaternión |
ones | Create quaternion array with real parts set to one and imaginary parts set to zero |
parts | Extraer partes de cuaternión |
power | Element-wise quaternion power |
prod | Product of quaternion array |
randrot | Uniformly distributed random rotations |
rdivide | Element-wise quaternion right division |
rotateframe | Quaternion frame rotation |
rotatepoint | Quaternion point rotation |
rotmat | Convertir un cuaternión en matriz de rotación |
rotvec | Convert quaternion to rotation vector (radians) |
rotvecd | Convert quaternion to rotation vector (degrees) |
slerp | Spherical linear interpolation |
times | Element-wise quaternion multiplication |
transpose,
.' | Transpose quaternion array |
uminus, - | Quaternion unary minus |
zeros | Create quaternion array with all parts set to zero |
ctranspose,
' | Complex conjugate transpose of quaternion array |
Ejemplos
Capacidades ampliadas
Historial de versiones
Introducido en R2018a