Computational Statistics

, 24:719 | Cite as

Generation of three-dimensional random rotations in fitting and matching problems

  • Michael HabeckEmail author
Open Access
Original Paper


An algorithm is developed to generate random rotations in three-dimensional space that follow a probability distribution arising in fitting and matching problems. The rotation matrices are orthogonally transformed into an optimal basis and then parameterized using Euler angles. The conditional distributions of the three Euler angles have a very simple form: the two azimuthal angles can be decoupled by sampling their sum and difference from a von Mises distribution; the cosine of the polar angle is exponentially distributed and thus straighforward to generate. Simulation results are shown and demonstrate the effectiveness of the method. The algorithm is compared to other methods for generating random rotations such as a random walk Metropolis scheme and a Gibbs sampling algorithm recently introduced by Green and Mardia. Finally, the algorithm is applied to a probabilistic version of the Procrustes problem of fitting two point sets and applied in the context of protein structure superposition.


Markov chain Monte Carlo Random rotation Euler angles Von Mises distribution Procrustes problem Nearest rotation matrix 


Open Access

This article is distributed under the terms of the Creative Commons Attribution Noncommercial License which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.


  1. Berman HM, Westbrook J, Feng Z, Gilliland G, Bhat TN, Weissig H, Shindyalov IN, Bourne PE (2000) The protein data bank. Nucleic Acids Res 28: 235–242CrossRefGoogle Scholar
  2. Chen MH, Shao QM, Ibrahim JG (2002) Monte Carlo Methods in Bayesian Computation. Springer Verlag, Inc., New YorkGoogle Scholar
  3. Choi KN, Carcassoni M, Hancock ER (2002) Recovering facial pose with the EM algorithm. Pattern Recognit 35: 2073–2093zbMATHCrossRefGoogle Scholar
  4. Devroye L (1986) Non-uniform random variate generation. Springer, New YorkzbMATHGoogle Scholar
  5. Geman S, Geman D (1984) Stochastic relaxation, gibbs distributions, and the Bayesian restoration of images. IEEE Trans PAMI 6(6): 721–741zbMATHGoogle Scholar
  6. Green PJ, Mardia KV (2006) Bayesian alignment using hierarchical models, with applications in protein bioinformatics. Biometrika 93: 235–254zbMATHCrossRefMathSciNetGoogle Scholar
  7. Hartigan J (1964) Invariant prior distributions. Ann Math Stat 35: 836–845zbMATHCrossRefMathSciNetGoogle Scholar
  8. Higham NJ (1989) Matrix nearness problems and applications. In: Gover MJC, Barnett S (eds) Applications of matrix theory. Oxford University Press, Oxford, pp 1–27Google Scholar
  9. Horn RA, Johnson CR (1991) Topics in matrix analysis. Cambridge University Press, CambridgezbMATHGoogle Scholar
  10. Kabsch W (1976) A solution for the best rotation to relate two sets of vectors. Acta Cryst A 32: 922–923CrossRefGoogle Scholar
  11. MacKay DJC (2003) Information theory, inference, and learning algorithms. Cambridge University Press, CambridgezbMATHGoogle Scholar
  12. Miles RE (1965) On random rotations in R 3. Biometrika 52: 636–639zbMATHMathSciNetGoogle Scholar
  13. Theobald DL, Wuttke DS (2006) Empirical Bayes hierarchical models for regularizing maximum likelihood estimation in the matrix Gaussian Procrustes problem. Proc Natl Acad Sci USA 103: 18,521–18,527CrossRefMathSciNetGoogle Scholar

Copyright information

© The Author(s) 2009

Authors and Affiliations

  1. 1.Department of Empirical InferenceMax-Planck-Institute for Biological CyberneticsTübingenGermany
  2. 2.Department of Protein EvolutionMax-Planck-Institute for Developmental BiologyTübingenGermany

Personalised recommendations