Orientation classes
vector-classes.Rd
An vector of orientations, each represented by a vector of numbers.
Each of these types stores orientations as rows of a matrix in slot x
.
The eulerzyx
class uses 3 Euler angles in the roll-pitch-yaw scheme
(rotation about Z axis, then Y axis, then X axis).
The eulerzxz
class uses 3 Euler angles in the X system scheme
(rotation about Z axis, then X axis, then Z axis again).
The rotvector
class uses the 9 components of a 3 x 3 rotation matrix, stored
in column-major order.
The quaternion
class uses the 4 components of a unit quaternion.
The skewvector
class uses the 3 non-zero components of a skew-symmetric matrix,
where (x,y,z)
stores the matrix ((0, -z, y), (z, 0, -x), (-y, x, 0))
.
Objects from the Class
Objects of each class can be created by calls to the corresponding constructor
functions: eulerzyx
, eulerzxz
, rotvector
,
quaternion
, skewmatrix
and skewvector
.
Methods
- [, [<-
Extract or assign to subvector
- [[, [[<-
Extract or assign to an entry
- length
The length of the
orientation
vector- coerce
Coerce methods are defined to convert all
orientation
descendants from one to another, and to coerce an appropriately shaped matrix or array to arotmatrix
See also
Constructor and coercion functions rotmatrix
, eulerzyx
, eulerzxz
, rotvector
,
quaternion
, and skewvector
.
Classes matrix-classes
, orientation-class
.
Examples
x <- eulerzyx(0,pi/4,0)
x
#> An object of class "eulerzyx"
#> Slot "x":
#> psi theta phi
#> [1,] 0 0.7853982 0
#>
eulerzxz(x)
#> An object of class "eulerzxz"
#> Slot "x":
#> phi theta psi
#> [1,] 1.570796 0.7853982 -1.570796
#>
rotmatrix(x)
#> An object of class "rotmatrix"
#> Slot "x":
#> , , 1
#>
#> [,1] [,2] [,3]
#> [1,] 0.7071068 0 -0.7071068
#> [2,] 0.0000000 1 0.0000000
#> [3,] 0.7071068 0 0.7071068
#>
#>
rotvector(x)
#> An object of class "rotvector"
#> Slot "x":
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
#> [1,] 0.7071068 0 0.7071068 0 1 0 -0.7071068 0 0.7071068
#>
quaternion(x)
#> An object of class "quaternion"
#> Slot "x":
#> q1 q2 q3 q4
#> [1,] 0 0.3826834 0 0.9238795
#>
skewvector(x)
#> An object of class "skewvector"
#> Slot "x":
#> [,1] [,2] [,3]
#> [1,] 0 0.7853982 0
#>