quaternion2rotation: Convert Quaternion into a Rotation Matrix

View source: R/quaternion.R

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

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

oro.nifti documentation built on Aug. 10, 2022, 5:09 p.m.