Rotation matrix on SO(3) from three Euler angles | R Documentation |
It forms a rotation matrix X on SO(3) by using three Euler angles (\theta_{12}, \theta_{13}, \theta_{23})
,
where X is defined as X=R_z(\theta_{12}) \times R_y(\theta_{13}) \times R_x( \theta_{23} )
.
Here R_x (\theta_{23})
means a rotation of \theta_{23}
radians about the x axis.
eul2rot(theta.12, theta.23, theta.13)
theta.12 |
An Euler angle, a number which must lie in |
theta.23 |
An Euler angle, a number which must lie in |
theta.13 |
An Euler angle, a number which must lie in |
Given three euler angles a rotation matrix X on SO(3) is formed using the transformation according to Green and Mardia (2006) which is defined above.
A roation matrix.
Anamul Sajib <sajibstat@du.ac.bd>.
R implementation and documentation: Anamul Sajib <sajibstat@du.ac.bd>.
Green, P. J. and Mardia, K. V. (2006). Bayesian alignment using hierarchical models, with applications in proteins bioinformatics. Biometrika, 93(2):235–254.
rot2eul
# three euler angles
theta.12 <- sample( seq(-3, 3, 0.3), 1 )
theta.23 <- sample( seq(-3, 3, 0.3), 1 )
theta.13 <- sample( seq(-1.4, 1.4, 0.3), 1 )
theta.12 ; theta.23 ; theta.13
X <- eul2rot(theta.12, theta.23, theta.13)
X # A rotation matrix
det(X)
e <- rot2eul(X)$v1
theta.12 <- e[3]
theta.23 <- e[2]
theta.13 <- e[1]
theta.12 ; theta.23 ; theta.13
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.