Ask Your Question

Revision history [back]

Why OpenCV uses Rodrigues rotation vector instead of Cayley's formula?

I was a fan of Rodrigues rotation formula [1] until I learned about Cayley's formula for orthonormal matrices [2]. If I understand correctly Rodrigues is not meant necessarily to produce a 3x3 rotation matrix but to rotate a vector with a computationally light formula. So maybe OpenCV uses this formula internally to do all transformations? (skipping the calculation of the rotation matrix). Just

But when it comes to producing a 3x3 rotation matrix it seems, at a glance, that Cayley's formula is much simpler.

So why not use Cayley instead of Rodrigues?

[1] https://docs.opencv.org/ref/master/d9/d0c/group__calib3d.html#ga61585db663d9da06b68e70cfbf6a1eac [2] Murray, R. M.; Li, Z. & Sastry, S. S. A mathematical introduction to robotic manipulation Book, CRC press, 1994, 29, 214-222