Rotate vector by quaternion
calculates the resulting vector following the passive rotation of initial vector
n = quatrotate(
r by quaternion
q and returns a final vector
n. If quaternions are not yet normalized, the function normalizes
Aerospace Toolbox uses quaternions that are defined using the scalar-first convention. This function normalizes all quaternion inputs.
Rotate a 1-by-3 Vector
This example shows how to rotate a 1-by-3 vector by a 1-by-4 quaternion.
q = [1 0 1 0]; r = [1 1 1]; n = quatrotate(q, r)
n = 1×3 -1.0000 1.0000 1.0000
Rotate Two 1-by-3 Vectors by a 1-by-4 Quaternion
This example shows how to rotate two 1-by-3 vectors by a 1-by-4 quaternion.
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.0000
Rotate a 1-by-3 Vector by Two 1-by-4 Quaternions
This example shows how to rotate a 1-by-3 vector by two 1-by-4 quaternions.
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 1.0000 0.8519 1.4741 0.3185
Rotate Multiple Vectors by Multiple Quaternions
This example shows how to rotate multiple vectors by multiple quaternions.
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
q — Quaternion
m-by-4 matrix | 1-by-4 array
Quaternion or set of quaternions, specified as an m-by-4 matrix containing m quaternions, or a single 1-by-4 quaternion. Each element must be real.
q must have its scalar number as the first column.
r — Initial vector
m-by-3 matrix | 1-by-3 array
Initial vector or set of vectors to be rotated, specified as an m-by-3 matrix, containing m vectors, or a single 1-by-3 array. Each element must be real.
n — Final vector
Final vector, returned as an m-by-3 matrix.
The normalized quaternion
q has the form:
r has the form:
The Aerospace Toolbox defines a passive quaternion rotation of the form:
where Ⓧ is the operator of a quaternion multiplication.
n has the form:
The direction cosine matrix for this equation expects a normalized quaternion.
 Stevens, Brian L., Frank L. Lewis. Aircraft Control and Simulation, 2nd Edition. Hoboken, NJ: John Wiley & Sons, 2003.
 Diebel, James. "Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors." Stanford University, Stanford, California, 2006.
Introduced in R2006b