Learn R Programming

Directional (version 7.0)

Habeck's rotation matrix generation: Generation of three-dimensional random rotations using Habeck's algorithm.

Description

It generates random rotations in three-dimensional space that follow a probability distribution, matrix Fisher distribution, arising in fitting and matching problem.

Usage

habeck.rot(F)

Value

A simulated rotation matrix.

Arguments

F

An arbitrary 3 x 3 matrix represents the parameter matrix of this distribution.

Author

Anamul Sajib.

R implementation and documentation: Anamul Sajib <sajibstat@du.ac.bd>.

Details

Firstly rotation matrices X are chosen which are the closest to F, and then parameterized using euler angles. Then a Gibbs sampling algorithm is implemented to generate rotation matrices from the resulting disribution of the euler angles.

References

Habeck M (2009). Generation of three-dimensional random rotations in fitting and matching problems. Computational Statistics, 24, 719--731.

Examples

Run this code
F <- 10^(-1) *  matrix( c(85, 11, 41, 78, 39, 60, 43, 64, 48), ncol = 3 )  ## Arbitrary F matrix
X <- habeck.rot(F)
det(X)

Run the code above in your browser using DataLab