Description
Creates or tests for objects of class "Q4."Usage
Q4(q, ...) ## S3 method for class 'default':
Q4(q, theta = NULL, ...)
## S3 method for class 'SO3':
Q4(q, ...)
## S3 method for class 'Q4':
Q4(q, ...)
as.Q4(q)
is.Q4(q)
id.Q4
Arguments
q
object to be coerced or tested.
theta
vector of rotation angles.
Value
- as.Q4coerces its object into an Q4 type.
- is.Q4returns
TRUE
or False
depending on whether its argument satifies the conditions
to be an quaternion; namely it must be four-dimensional
and of unit length. - Q4.defaultreturns an
$n$-by-4 matrix where each row is a quaternion
constructed from axis $U$ and angle theta.
- Q4.SO3returns $n$-by-4 matrix where each row
is a quaternion constructed from the corresponding
rotation matrix.
format
id.Q4
is the identity rotation given by the matrix $[1,0,0,0]^\top$.Details
Construct a unit quaternion to represent a rotation.
Each quaternion can be interpreted as a rotation of some
reference frame about the axis $U$ (of unit length)
through the angle $\theta$. For each axis and angle
the quaternion is formed through
$$q=[cos(\theta/2),sin(\theta/2)U]^\top.$$
If no angle is supplied then the length of each axis is
taken to be the angle of rotation theta. If an
SO3
object is given then this function will
return the quaternion equivalent.