Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

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.

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

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

oro.nifti

Rigorous - 'NIfTI' + 'ANALYZE' + 'AFNI' : Input / Output

v0.11.0
BSD_3_clause + file LICENSE
Authors
Brandon Whitcher [aut, cre], Volker Schmid [aut], Andrew Thornton [aut], Karsten Tabelow [ctb], Jon Clayden [ctb], John Muschelli [aut]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.