quatrotate - Rotate vector by quaternion

Syntax

n = quatrotate(q,r)

Description

n = quatrotate(q,r) calculates the rotated vector, n, for a quaternion, q, and a vector, r. q is either an m-by-4 matrix containing m quaternions, or a single 1-by-4 quaternion. r is either an m-by-3 matrix, or a single 1-by-3 vector. n returns an m-by-3 matrix of rotated vectors. Each element of q and r must be a real number. Additionally, q has its scalar number as the first column.

Examples

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.0000    1.0000    1.0000

Rotate a 1-by-3 vector by a 2-by-4 quaternion:

q = [1 0 1 0; 1 0.5 0.3 0.1];
r = [1 1 1];
n = quatrotate(q, r)


n =

   -1.0000    1.0000    1.0000
    0.8519    1.4741    0.3185

Rotate a 2-by-3 vector by a 1-by-4 quaternion:

q = [1 0 1 0];
r = [1 1 1; 2 3 4];
n = quatrotate(q, r)


n =

   -1.0000    1.0000    1.0000
   -4.0000    3.0000    2.0000

Rotate a 2-by-3 vector by a 2-by-4 quaternion:

q = [1 0 1 0; 1 0.5 0.3 0.1];
r = [1 1 1; 2 3 4];
n = quatrotate(q, r)


n =

   -1.0000    1.0000    1.0000
    1.3333    5.1333    0.9333

See Also

quatconj, quatinv, quatmod, quatmultiply, quatnorm, quatnormalize

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS