oro.nifti (version 0.11.4)

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)

Value

The (proper) \(3{\times}3\) rotation matrix or \(4{\times}4\) affine matrix.

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.

Author

Brandon Whitcher bwhitcher@gmail.com

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.

References

NIfTI-1
http://nifti.nimh.nih.gov/

Examples

Run this code

## 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))

Run the code above in your browser using DataLab