quaternion2rotation {oro.nifti} | R Documentation |
Convert Quaternion into a Rotation Matrix
Description
The affine/rotation matrix R
is calculated from the quaternion
parameters.
Usage
quaternion2rotation(b, c, d, tol = 1e-07)
quaternion2mat44(nim, tol = 1e-07)
Arguments
b |
is the quaternion |
c |
is the quaternion |
d |
is the quaternion |
tol |
is a very small value used to judge if a number is essentially zero. |
nim |
is an object of class |
Details
The quaternion representation is chosen for its compactness in representing
rotations. The orientation of the (x,y,z)
axes relative to the
(i,j,k)
axes in 3D space is specified using a unit quaternion
[a,b,c,d]
, where a^2+b^2+c^2+d^2=1
. The
(b,c,d)
values are all that is needed, since we require that
a=[1-(b^2+c^2+d^2)]^{1/2}
be non-negative.
The (b,c,d)
values are stored in the (quatern_b
,
quatern_c
, quatern_d
) fields.
Value
The (proper) 3{\times}3
rotation matrix or
4{\times}4
affine matrix.
Author(s)
Brandon Whitcher bwhitcher@gmail.com
References
NIfTI-1
http://nifti.nimh.nih.gov/
Examples
## This R matrix is represented by quaternion [a,b,c,d] = [0,1,0,0]
## (which encodes a 180 degree rotation about the x-axis).
(R <- quaternion2rotation(1, 0, 0))