Skip to main content
Log in

A Compact Formula for the Derivative of a 3-D Rotation in Exponential Coordinates

  • Published:
Journal of Mathematical Imaging and Vision Aims and scope Submit manuscript

Abstract

We present a compact formula for the derivative of a 3-D rotation matrix with respect to its exponential coordinates. A geometric interpretation of the resulting expression is provided, as well as its agreement with other less-compact but better-known formulas. To the best of our knowledge, this simpler formula does not appear anywhere in the literature. We hope by providing this more compact expression to alleviate the common pressure to reluctantly resort to alternative representations in various computational applications simply as a means to avoid the complexity of differential analysis in exponential coordinates.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Altmann, S.: Rotations, Quaternions, And Double Groups. Clarendon, Oxford (1986)

    MATH  Google Scholar 

  2. Bauchau, O., Choi, J.Y.: The vector parameterization of motion. Nonlinear Dyn. 33(2), 165–188 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  3. Cheng, H., Gupta, K.: An historical note on finite rotations. J. Appl. Mech. 56(1), 139–145 (1989)

    Article  MathSciNet  Google Scholar 

  4. Dambreville, S., Sandhu, R., Yezzi, A., Tannenbaum, A.: A ge‘ometric approach to joint 2D region-based segmentation and 3D pose estimation using a 3D shape prior. SIAM J. Img. Sci. 3(1), 110–132 (2010)

    Article  MATH  MathSciNet  Google Scholar 

  5. Enqvist, O., Kahl, F.: Robust optimal pose estimation. Proceedings of 10th European Conference on Computer Vision, ECCV’08, pp. 141–153. Springer, Berlin, Heidelberg (2008)

  6. Gurwitz, C., Overton, M.: A globally convergent algorithm for minimizing over the rotation group of quadratic forms. IEEE Trans. Pattern Anal. Mach. Intell. 11(11), 1228–1232 (1989)

    Article  Google Scholar 

  7. Hall, B.: Lie Groups, Lie Algebras and Representations. Graduate Text in Mathematics. Springer, Berlin (2004)

    Google Scholar 

  8. Hartley, R., Kahl, F.: Global optimization through searching rotation space and optimal estimation of the essential matrix. In: Proceedings of IEEE 11th International Conference on Computer Vision, ICCV 2007, pp. 1–8 (2007)

  9. Hartley, R., Zisserman, A.: Multiple View Geometry in Computer Vision, 2nd edn. Cambridge University Press, Cambridge (2003)

    Google Scholar 

  10. Helgason, S.: Differential geometry and symmetric spaces. Elsevier Science, Pure and Applied Mathematics, Amsterdam (1962)

    MATH  Google Scholar 

  11. Horn, B.K.P.: Relative Orientation. Int. J. Comput. Vis. 4(1), 59–78 (1990)

    Article  Google Scholar 

  12. Kuehnel, F.O.: On the minimization over SO(3) manifolds. Technical Report 03.12, Research Institute for Advanced Computer Science (RIACS). NASA Ames Research Center, USA (2003)

  13. Ma, Y., Soatto, S., Kosecká, J., Sastry, S.: An Invitation to 3-D Vision: From Images to Geometric Models. Springer, Berlin (2003)

    Google Scholar 

  14. Murray, R., Li, Z., Sastry, S.: A Mathematical Introduction to Robotic Manipulation. CRC, Boca Raton (1994)

    MATH  Google Scholar 

  15. Olsson, C., Kahl, F., Oskarsson, M.: Optimal estimation of perspective camera pose. In: Proceedings of 18th International Conference on Pattern Recognition, ICPR 2006, vol. 2, pp. 5–8 (2006)

  16. Open Source Computer Vision (OpenCV): http://opencv.org

  17. Ritto-Corrêa, M., Camotim, D.: On the differentiation of the Rodrigues formula and its significance for the vector-like parameterization of Reissner–Simo beam theory. Int. J. Num. Methods Eng. 55(9), 1005–1032 (2002)

  18. Sandhu, R., Dambreville, S., Tannenbaum, A.: Point set registration via particle filtering and stochastic dynamics. IEEE Trans. Pattern Anal. Mach. Intell. 32(8), 1459–1473 (2010)

  19. Stuelpnagel, J.: On the parametrization of the three-dimensional rotation group. SIAM Rev. 6(4), 422–430 (1964)

    Article  MATH  MathSciNet  Google Scholar 

  20. Unal, G.B., Yezzi, A.J., Soatto, S., Slabaugh, G.G.: A variational approach to problems in calibration of multiple cameras. IEEE Trans. Pattern Anal. Mach. Intell. 29(8), 1322–1338 (2007)

    Article  Google Scholar 

Download references

Acknowledgments

The authors thank the anonymous reviewers for their helpful comments and suggestions. G. Gallego is supported by the Marie Curie - COFUND Programme of the EU, as part of the Seventh Framework Programme (FP7). A. Yezzi is supported by National Science Foundation (NSF) Grants: CCF-1347191 and CMMI-1068624. This work has been partially supported by the Spanish Government under projects TEC2010-20412 (Enhanced 3DTV) and TEC2013-48453 (MR-UHDTV), and by FP7’s project 610691 (BRIDGET).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guillermo Gallego.

Appendices

Appendix 1: Some Cross Product Relations

Let us use the dot notation for the Euclidean inner product \(\mathbf {a}\cdot \mathbf {b}=\mathbf {a}^{\top }\mathbf {b}\). Also, let \(\mathtt {G}\) be a \(3\times 3\) matrix, invertible when required so that it represents a change of coordinates in \(\mathbb {R}^{3}\).

$$\begin{aligned} \left[ \mathbf {a}\right] _{\times }\mathbf {a}&= \mathbf {0}\end{aligned}$$
(10)
$$\begin{aligned} \left[ \mathbf {a}\right] _{\times }\mathbf {b}&= -\left[ \mathbf {b}\right] _{\times }\mathbf {a}\end{aligned}$$
(11)
$$\begin{aligned} \left[ \mathbf {a}\right] _{\times }\left[ \mathbf {b}\right] _{\times }&= \mathbf {b}\mathbf {a}^{\top }-(\mathbf {a}\cdot \mathbf {b})\text{ Id } \end{aligned}$$
(12)
$$\begin{aligned} \mathbf {a}\times (\mathbf {b}\times \mathbf {c})&\mathop {=}\limits ^{(12)}(\mathbf {a}\cdot \mathbf {c})\mathbf {b}-(\mathbf {a}\cdot \mathbf {b})\mathbf {c}\end{aligned}$$
(13)
$$\begin{aligned} \left[ \mathbf {a}\times \mathbf {b}\right] _{\times }&= \mathbf {b}\mathbf {a}^{\top }-\mathbf {a}\mathbf {b}^{\top } \end{aligned}$$
(14)
$$\begin{aligned} \left[ \mathbf {a}\times \mathbf {b}\right] _{\times }&= \left[ \mathbf {a}\right] _{\times }\left[ \mathbf {b}\right] _{\times }-\left[ \mathbf {b}\right] _{\times } \left[ \mathbf {a}\right] _{\times }\end{aligned}$$
(15)
$$\begin{aligned} \left[ (\mathtt {G}\mathbf {a})\times (\mathtt {G}\mathbf {b})\right] _{\times }&= \mathtt {G}\left[ \mathbf {a}\times \mathbf {b}\right] _{\times } \mathtt {G}^{\top }\nonumber \\ (\mathtt {G}\mathbf {a})\times (\mathtt {G}\mathbf {b})&= \det (\mathtt {G})\mathtt {G}^{-\top }(\mathbf {a}\times \mathbf {b})\end{aligned}$$
(16)
$$\begin{aligned} \left[ \mathbf {a}\right] _{\times }\mathtt {G}+\mathtt {G}^{\top }\left[ \mathbf {a}\right] _{\times }&= {{\mathrm{trace}}}(\mathtt {G})\left[ \mathbf {a}\right] _{\times }- \left[ \mathtt {G}\mathbf {a}\right] _{\times }\\ \left[ \mathtt {G}\mathbf {a}\right] _{\times }&= \det (\mathtt {G})\mathtt {G}^{-\top }\left[ \mathbf {a}\right] _{\times }\mathtt {G}^{-1}\nonumber \end{aligned}$$
(17)

Appendix 2: Proof of Result 1

Proof

Four terms result from applying the chain rule to (1) acting on vector \(\mathbf {u}\). Let us use \(\theta =\Vert \mathbf {v}\Vert \) and \(\bar{\mathbf {v}}=\mathbf {v}/\Vert \mathbf {v}\Vert \), then

$$\begin{aligned} \frac{\partial \mathtt {R}\mathbf {u}}{\partial \mathbf {v}}&= \sin \theta \,\frac{\partial \left[ \bar{\mathbf {v}}\right] _{\times }\mathbf {u}}{\partial \mathbf {v}} +\left[ \bar{\mathbf {v}}\right] _{\times }\mathbf {u}\,\frac{\partial \sin \theta }{\partial \mathbf {v}}\\&+(1-\cos \theta )\frac{\partial \left[ \bar{\mathbf {v}}\right] _{\times }^{2}\mathbf {u}}{\partial \mathbf {v}}+\left[ \bar{\mathbf {v}}\right] _{\times }^{2} \mathbf {u}\,\frac{\partial (1-\cos \theta )}{\partial \mathbf {v}}. \end{aligned}$$

The previous derivatives are computed next, using some of the cross product properties listed in Appendix 1:

$$\begin{aligned} \frac{\partial \left[ \bar{\mathbf {v}}\right] _{\times }\mathbf {u}}{\partial \mathbf {v}}\mathop {=}\limits ^{(11)} \frac{\partial (-\left[ \mathbf {u}\right] _{\times }\bar{\mathbf {v}})}{\partial \bar{\mathbf {v}}}\frac{\partial \bar{\mathbf {v}}}{\partial \mathbf {v}}=-\left[ \mathbf {u}\right] _{\times } \frac{\partial \bar{\mathbf {v}}}{\partial \mathbf {v}}, \end{aligned}$$

with derivative of the unit rotation axis vector

$$\begin{aligned} \frac{\partial \bar{\mathbf {v}}}{\partial \mathbf {v}}=\frac{\partial }{\partial \mathbf {v}}\left( \frac{\mathbf {v}}{\Vert \mathbf {v}\Vert }\right) = \frac{1}{\theta }(\text{ Id }-\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top }) \mathop {=}\limits ^{(4)}-\frac{1}{\theta } \left[ \bar{\mathbf {v}}\right] _{\times }^{2}. \end{aligned}$$
(18)

Also by the chain rule,

$$\begin{aligned} \frac{\partial \sin \theta }{\partial \mathbf {v}}&= \frac{\partial \sin \theta }{\partial \theta }\frac{\partial \theta }{\partial \mathbf {v}}=\cos \theta \,\bar{\mathbf {v}}^{\top },\\ \frac{\partial (1-\cos \theta )}{\partial \mathbf {v}}&= -\frac{\partial \cos \theta }{\partial \theta }\frac{\partial \theta }{\partial \mathbf {v}}=\sin \theta \,\bar{\mathbf {v}}^{\top }, \end{aligned}$$

and, applying the product rule twice,

$$\begin{aligned} \begin{aligned} \frac{\partial \left[ \bar{\mathbf {v}}\right] _{\times }^{2}\mathbf {u}}{\partial \mathbf {v}}&\mathop {=}\limits ^{(4)} \frac{\partial \bar{\mathbf {v}}(\bar{\mathbf {v}}^{\top }\mathbf {u})}{\partial \mathbf {v}}=\frac{\partial \bar{\mathbf {v}}}{\partial \mathbf {v}}(\bar{\mathbf {v}}^{\top }\mathbf {u})+\bar{\mathbf {v}}\frac{\partial (\bar{\mathbf {v}}^{\top }\mathbf {u})}{\partial \mathbf {v}}\\&= \bigl ((\bar{\mathbf {v}}^{\top }\mathbf {u})\text{ Id }+\bar{\mathbf {v}}\mathbf {u}^{\top }\bigr )\frac{\partial \bar{\mathbf {v}}}{\partial \mathbf {v}}\\&\mathop {=}\limits ^{(18)} -\frac{1}{\theta } \bigl ((\bar{\mathbf {v}}^{\top }\mathbf {u})\text{ Id }+\bar{\mathbf {v}}\mathbf {u}^{\top }\bigr )\left[ \bar{\mathbf {v}}\right] _{\times }^{2}, \end{aligned} \end{aligned}$$

which can be rewritten as a sum of cross product matrix multiplications since

$$\begin{aligned} \begin{aligned}&\bigl ((\bar{\mathbf {v}}^{\top }\mathbf {u})\text{ Id }+\bar{\mathbf {v}}\mathbf {u}^{\top }\bigr )\left[ \bar{\mathbf {v}}\right] _{\times }^{2}\\&\quad \mathop {=}\limits ^{(10)}\bigl ((\bar{\mathbf {v}}^{\top }\mathbf {u})\text{ Id }-\mathbf {u}\bar{\mathbf {v}}^{\top }+\bar{\mathbf {v}}\mathbf {u}^{\top }-\mathbf {u}\bar{\mathbf {v}}^{\top }\bigr )\left[ \bar{\mathbf {v}}\right] _{\times }^{2}\\&\quad \mathop {=}\limits ^{(12)\,(14)}-\left[ \bar{\mathbf {v}}\right] _{\times }\left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }^{2}+\left[ \mathbf {u}\times \bar{\mathbf {v}}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }^{2}\\&\quad \mathop {=}\limits ^{(15)\,(4)}-2\left[ \bar{\mathbf {v}}\right] _{\times }\left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }^{2}-\left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }. \end{aligned} \end{aligned}$$

Hence, so far the derivative of the rotated vector is

$$\begin{aligned} \begin{aligned} \frac{\partial \mathtt {R}\mathbf {u}}{\partial \mathbf {v}}&=(\cos \theta \left[ \bar{\mathbf {v}}\right] _{\times }+\sin \theta \left[ \bar{\mathbf {v}}\right] _{\times }^{2})\mathbf {u}\bar{\mathbf {v}}^{\top }+\frac{\sin \theta }{\theta } \left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }^{2}\\&\quad +\frac{1-\cos \theta }{\theta }(2\left[ \bar{\mathbf {v}}\right] _{\times }\left[ \mathbf {u}\right] _{\times } \left[ \bar{\mathbf {v}}\right] _{\times }^{2}+\left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }). \end{aligned} \end{aligned}$$

Next, multiply on the left by \(\mathtt {R}^{\top }\) and use

$$\begin{aligned} \mathtt {R}^{\top }\left[ \bar{\mathbf {v}}\right] _{\times }\mathop {=}\limits ^{(3)\,(10)}\cos \theta \, \left[ \bar{\mathbf {v}}\right] _{\times }-\sin \theta \, \left[ \bar{\mathbf {v}}\right] _{\times }^{2} \end{aligned}$$
(19)

to simplify the first term of \(\mathtt {R}^{\top }\partial (\mathtt {R}\mathbf {u})/\partial \mathbf {v}\),

$$\begin{aligned} \begin{aligned}&\mathtt {R}^{\top }(\cos \theta \,\left[ \bar{\mathbf {v}}\right] _{\times }+\sin \theta \,\left[ \bar{\mathbf {v}}\right] _{\times }^{2})\mathbf {u}\bar{\mathbf {v}}^{\top }\\&\quad \mathop {=}\limits ^{(19)}(\cos ^{2}\theta \,\left[ \bar{\mathbf {v}}\right] _{\times }-\sin ^{2}\theta \,\left[ \bar{\mathbf {v}}\right] _{\times }^{3})\mathbf {u}\bar{\mathbf {v}}^{\top }\\&\quad \mathop {=}\limits ^{(4)}(\cos ^{2}\theta +\sin ^{2}\theta )\,\left[ \bar{\mathbf {v}}\right] _{\times }\mathbf {u}\bar{\mathbf {v}}^{\top }\\&\quad \mathop {=}\limits ^{(11)}-\left[ \mathbf {u}\right] _{\times }\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top }. \end{aligned} \end{aligned}$$
(20)

For the remaining term of \(\mathtt {R}^{\top }\partial (\mathtt {R}\mathbf {u})/\partial \mathbf {v}\), we use the transpose of (1) and apply \(\left[ \bar{\mathbf {v}}\right] _{\times }\left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }\mathop {=}\limits ^{(12)}-(\mathbf {u}^{\top }\bar{\mathbf {v}})\left[ \bar{\mathbf {v}}\right] _{\times }\) to simplify

$$\begin{aligned} \begin{aligned}&\bigl (\text{ Id }-\sin \theta \,\left[ \bar{\mathbf {v}}\right] _{\times }+(1-\cos \theta )\left[ \bar{\mathbf {v}}\right] _{\times }^{2} \bigr )\cdot \bigl (\sin \theta \left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }^{2}\\&\qquad +(1-\cos \theta )(2\left[ \bar{\mathbf {v}}\right] _{\times }\left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }^{2}+ \left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times })\bigr )\\&\quad =\sin \theta \,\left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }^{2}+(1-\cos \theta ) \left[ \mathbf {u}\right] _{\times }\left[ \bar{\mathbf {v}}\right] _{\times }\\&\qquad +(\mathbf {u}^{\top }\bar{\mathbf {v}})\bigl (-2(1-\cos \theta )+\sin ^{2}\theta \, +(1-\cos \theta )^{2}\bigr )\left[ \bar{\mathbf {v}}\right] _{\times }\\&\quad =\left[ \mathbf {u}\right] _{\times }\bigl (\sin \theta \,\left[ \bar{\mathbf {v}}\right] _{\times }^{2}-(1-\cos \theta )\left[ \bar{\mathbf {v}}\right] _{\times }^{3}\bigr )\\&\quad =-\left[ \mathbf {u}\right] _{\times }(\mathtt {R}^{\top }-\text{ Id })\left[ \bar{\mathbf {v}}\right] _{\times }, \end{aligned} \end{aligned}$$

where the term in \((\mathbf {u}^{\top }\bar{\mathbf {v}})\) vanished since \(\sin ^{2}\theta -2(1-\cos \theta )+(1-\cos \theta )^{2}=0\). Collecting terms,

$$\begin{aligned} \mathtt {R}^{\top }\frac{\partial \mathtt {R}\mathbf {u}}{\partial \mathbf {v}}=-\left[ \mathbf {u}\right] _{\times }\bigl (\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top } +\frac{1}{\theta }(\mathtt {R}^{\top }-\text{ Id })\left[ \bar{\mathbf {v}}\right] _{\times }\bigr ). \end{aligned}$$
(21)

Finally, multiply (21) on the left by \(\mathtt {R}\) and use \(\mathtt {R}\mathtt {R}^{\top }=\text{ Id }\), \(\theta =\Vert \mathbf {v}\Vert \), \(\bar{\mathbf {v}}=\mathbf {v}/\Vert \mathbf {v}\Vert \) to obtain (8). \(\square \)

Appendix 3: Proof of Result 2

Proof

Stemming from (8), we show that it is possible to write

$$\begin{aligned} \frac{\partial \mathtt {R}}{\partial v_{i}}\mathbf {u}=\mathtt {A}\mathbf {u}\end{aligned}$$
(22)

for some matrix \(\mathtt {A}\) and for all vector \(\mathbf {u}\) independent of \(\mathbf {v}\). Thus in this operator form, \(\mathtt {A}\) is indeed the representation of \(\partial \mathtt {R}/\partial v_{i}\). First, observe that

$$\begin{aligned} \frac{\partial \mathtt {R}}{\partial v_{i}}\mathbf {u}=\frac{\partial }{\partial v_{i}}(\mathtt {R}\mathbf {u})=\frac{\partial }{\partial \mathbf {v}} (\mathtt {R}\mathbf {u})\,\mathbf {e}_{i}, \end{aligned}$$

then substitute (8) and simplify using the cross-product properties to arrive at (22):

(23)

After some manipulations,

$$\begin{aligned} \mathtt {R}\left[ v_{i}\mathbf {v}+\bigl (\mathbf {v}\times (\mathtt {R}^{\top }-\text{ Id })\mathbf {e}_{i}\bigr )\right] _{\times } =\left[ v_{i}\mathbf {v}+\bigl (\mathbf {v}\times (\text{ Id }-\mathtt {R})\mathbf {e}_{i}\bigr )\right] _{\times }\mathtt {R}, \end{aligned}$$

and so, substituting in (23) and using the linearity of the cross-product matrix (2), the desired formula (9) is obtained. \(\square \)

Appendix 4: Agreement Between Derivative Formulas

Here we show the agreement between (7) and (9). First, use \(\theta =\Vert \mathbf {v}\Vert \) and the definition of the unit vector \(\bar{\mathbf {v}}=\mathbf {v}/\theta \), to write (9) as

$$\begin{aligned} \frac{\partial \mathtt {R}}{\partial v_{i}}=\bar{v}_{i}\left[ \bar{\mathbf {v}}\right] _{\times }\mathtt {R}+\frac{1}{\theta } \left[ \bar{\mathbf {v}}\times (\text{ Id }-\mathtt {R})\mathbf {e}_{i}\right] _{\times }\mathtt {R}. \end{aligned}$$
(24)

Using (3) and \(\left[ \bar{\mathbf {v}}\right] _{\times }\bar{\mathbf {v}}=\mathbf {0}\), it follows that

$$\begin{aligned} \left[ \bar{\mathbf {v}}\right] _{\times }\mathtt {R}=\cos \theta \,\left[ \bar{\mathbf {v}}\right] _{\times }+\sin \theta \,\left[ \bar{\mathbf {v}}\right] _{\times }^{2}. \end{aligned}$$

Also, since \(\left[ \bar{\mathbf {v}}\times \mathbf {b}\right] _{\times }=\mathbf {b}\bar{\mathbf {v}}^{\top }-\bar{\mathbf {v}}\mathbf {b}^{\top }\) and \(\mathtt {R}^{\top }\bar{\mathbf {v}}=\bar{\mathbf {v}}\), it yields

$$\begin{aligned} \left[ \bar{\mathbf {v}}\times (\text{ Id }-\mathtt {R})\mathbf {e}_{i}\right] _{\times }\mathtt {R}&= (\text{ Id }-\mathtt {R}) \mathbf {e}_{i}\bar{\mathbf {v}}^{\top }\mathtt {R}-\bar{\mathbf {v}}\mathbf {e}_{i}^{\top }(\text{ Id }-\mathtt {R}^{\top })\mathtt {R}\\&= (\text{ Id }-\mathtt {R})\mathbf {e}_{i}\bar{\mathbf {v}}^{\top }-\bar{\mathbf {v}}\mathbf {e}_{i}^{\top }(\mathtt {R}-\text{ Id })\\&= \mathbf {e}_{i}\bar{\mathbf {v}}^{\top }+\bar{\mathbf {v}}\mathbf {e}_{i}^{\top }-(\mathtt {R}\mathbf {e}_{i}\bar{\mathbf {v}}^{\top }+ \bar{\mathbf {v}}\mathbf {e}_{i}^{\top }\mathtt {R}), \end{aligned}$$

and expanding \(\mathtt {R}\mathbf {e}_{i}\) and \(\mathbf {e}_{i}^{\top }\mathtt {R}\) in the previous formula by means of (3), we obtain

$$\begin{aligned} \begin{aligned}&\left[ \bar{\mathbf {v}}\times (\text{ Id }-\mathtt {R})\mathbf {e}_{i}\right] _{\times }\mathtt {R}\\&\quad =\mathbf {e}_{i}\bar{\mathbf {v}}^{\top }+\bar{\mathbf {v}}\mathbf {e}_{i}^{\top }\\&\qquad -\bigl (\cos \theta \,\mathbf {e}_{i}\bar{\mathbf {v}}^{\top }+\sin \theta \,\left[ \bar{\mathbf {v}}\right] _{\times } \mathbf {e}_{i}\bar{\mathbf {v}}^{\top }+(1-\cos \theta )\bar{v}_{i}\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top }\bigr )\\&\qquad -\bigl (\cos \theta \,\bar{\mathbf {v}}\mathbf {e}_{i}^{\top }+\sin \theta \,\bar{\mathbf {v}}\mathbf {e}_{i}^{\top }\left[ \bar{\mathbf {v}}\right] _{\times }+(1-\cos \theta )\bar{v}_{i}\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top }\bigr )\\&\quad =(1-\cos \theta )(\mathbf {e}_{i}\bar{\mathbf {v}}^{\top }+\bar{\mathbf {v}}\mathbf {e}_{i}^{\top }-2\bar{v}_{i} \bar{\mathbf {v}}\bar{\mathbf {v}}^{\top })\\&\qquad -\sin \theta \,(\left[ \bar{\mathbf {v}}\right] _{\times }\mathbf {e}_{i}\bar{\mathbf {v}}^{\top }+\bar{\mathbf {v}}\mathbf {e}_{i}^{\top } \left[ \bar{\mathbf {v}}\right] _{\times }). \end{aligned} \end{aligned}$$

Using property (17) with \(\mathbf {a}=\bar{\mathbf {v}}\), \(\mathtt {G}=\mathbf {e}_{i}\bar{\mathbf {v}}^{\top }\) we have that

$$\begin{aligned} \left[ \bar{\mathbf {v}}\right] _{\times }\mathbf {e}_{i}\bar{\mathbf {v}}^{\top }+\bar{\mathbf {v}}\mathbf {e}_{i}^{\top }\left[ \bar{\mathbf {v}}\right] _{\times }&= {{\mathrm{trace}}}(\mathbf {e}_{i}\bar{\mathbf {v}}^{\top })\left[ \bar{\mathbf {v}}\right] _{\times }-\left[ \mathbf {e}_{i}\bar{\mathbf {v}}^{\top }\bar{\mathbf {v}}\right] _{\times },\\&= {{\mathrm{trace}}}(\bar{\mathbf {v}}^{\top }\mathbf {e}_{i})\left[ \bar{\mathbf {v}}\right] _{\times }-\left[ \mathbf {e}_{i}\Vert \bar{\mathbf {v}}\Vert ^{2}\right] _{\times }\\&= \bar{v}_{i}\left[ \bar{\mathbf {v}}\right] _{\times }-\left[ \mathbf {e}_{i}\right] _{\times }\\&= \left[ \bar{v}_{i}\bar{\mathbf {v}}-\mathbf {e}_{i}\right] _{\times }. \end{aligned}$$

Finally, substituting previous results in (24), the desired result (7) is obtained.

Appendix 5: Derivative Formula with Sines and Cosines

Here, we show how to obtain formula (7). First, differentiate the Euler–Rodrigues rotation formula (3) with respect to the \(i\)-th component of the parametrizing vector \(\mathbf {v}=\theta \bar{\mathbf {v}}\) and take into account that

$$\begin{aligned} \theta ^{2}=\Vert \mathbf {v}\Vert ^{2}\implies \frac{\partial \theta }{\partial v_{i}}=\frac{v_{i}}{\theta } =:\bar{v}_{i}. \end{aligned}$$

Applying the chain rule to (3), gives

$$\begin{aligned} \frac{\partial \mathtt {R}}{\partial v_{i}}&= -\sin \theta \,\bar{v}_{i}\text{ Id }+\cos \theta \, \bar{v}_{i}\left[ \bar{\mathbf {v}}\right] _{\times }+\sin \theta \,\bar{v}_{i}\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top }\nonumber \\&+\sin \theta \,\frac{\partial \left[ \bar{\mathbf {v}}\right] _{\times }}{\partial v_{i}}+(1-\cos \theta )\frac{\partial (\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top })}{\partial v_{i}}. \end{aligned}$$
(25)

Next, we use

$$\begin{aligned} \frac{\partial }{\partial v_{i}}\left( \frac{v_{j}}{\Vert \mathbf {v}\Vert }\right) = {\left\{ \begin{array}{ll} -\frac{1}{\theta }\bar{v}_{i}\bar{v}_{j} &{} i\ne j\\ \frac{1}{\theta }(1-\bar{v}_{i}^{2}) &{} i=j \end{array}\right. }, \end{aligned}$$
(26)

to simplify one of the terms in (25),

$$\begin{aligned} \frac{\partial \left[ \bar{\mathbf {v}}\right] _{\times }}{\partial v_{i}}=\frac{\partial }{\partial v_{i}}\left[ \frac{\mathbf {v}}{\Vert \mathbf {v}\Vert }\right] _{\times }\mathop {=}\limits ^{(26)}\frac{1}{\theta } \left[ \mathbf {e}_{i}- \bar{v}_{i}\bar{\mathbf {v}}\right] _{\times }. \end{aligned}$$

Applying the product rule to the last term in (25) and using

$$\begin{aligned} \frac{\partial \bar{\mathbf {v}}}{\partial v_{i}}=\frac{\partial }{\partial v_{i}}\left( \frac{\mathbf {v}}{\Vert \mathbf {v}\Vert }\right) =\frac{1}{\theta }(\text{ Id }-\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top })\mathbf {e}_{i}, \end{aligned}$$
(27)

gives

$$\begin{aligned} \frac{\partial (\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top })}{\partial v_{i}}\mathop {=}\limits ^{(27)} \frac{1}{\theta }\left( \mathbf {e}_{i}\bar{\mathbf {v}}^{\top }+\bar{\mathbf {v}}\mathbf {e}_{i}^{\top }-2 \bar{v}_{i}\bar{\mathbf {v}}\bar{\mathbf {v}}^{\top }\right) . \end{aligned}$$

Finally, substituting the previous expressions in (25), yields (7). A similar proof is outlined in [12] using Einstein summation index notation.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gallego, G., Yezzi, A. A Compact Formula for the Derivative of a 3-D Rotation in Exponential Coordinates. J Math Imaging Vis 51, 378–384 (2015). https://doi.org/10.1007/s10851-014-0528-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10851-014-0528-x

Keywords

Navigation