q2R: Convert Quaternion into a Rotation Matrix

Description Usage Arguments Details Value Author(s) References Examples

Description

The affine/rotation matrix R is calculated from the quaternion parameters.

Usage

1
2
quaternion2mat44(nim, tol = 1e-7)
quaternion2rotation(b, c, d, tol = 1e-7)

Arguments

nim

is an object of class nifti.

tol

is a very small value used to judge if a number is essentially zero.

b

is the quaternion b parameter.

c

is the quaternion c parameter.

d

is the quaternion d parameter.

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*a+b*b+c*c+d*d=1. The (b,c,d) values are all that is needed, since we require that a=sqrt(1.0-(b*b+c*c+d*d)) be non-negative. The (b,c,d) values are stored in the (quatern_b, quatern_c, quatern_d) fields.

Value

The (proper) 3x3 rotation matrix or 4x4 affine matrix.

Author(s)

Brandon Whitcher bwhitcher@gmail.com

References

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

Examples

1
2
3
## 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))

Example output

oro.nifti 0.9.1
     [,1] [,2] [,3]
[1,]    1    0    0
[2,]    0   -1    0
[3,]    0    0   -1

oro.nifti documentation built on May 2, 2019, 5:26 p.m.