quaternion2rotation: 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 \(b\) parameter.
c
is the quaternion \(c\) parameter.
d
is the quaternion \(d\) parameter.
tol
is a very small value used to judge if a number is essentially
zero.
nim
is an object of class nifti.
Value
The (proper) \(3{\times}3\) rotation matrix or
\(4{\times}4\) affine matrix.
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.
# NOT RUN {## 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))
# }