最近在写BA(bundle adjustment)的时候,遇到了各种不同旋转表示方式的转换问题。之前理解的一知半解的,就有点懵,于是又百度看了一下,就找到了一篇总结的很到位的知乎,就想把它引进到CSDN上哈哈哈。上链接:https://zhuanlan.zhihu.com/p/45404840
这篇文章写的挺清楚的,包括轴角、旋转矩阵、欧拉角、四元数之间的转换。不过我发现文章里还少了四元数转轴角的操作,很简单,就在下面小小补充一下:
设四元数q = q0+q1i+q2j+q3k对应的轴角为(θ,k),其中k=(k1,k2,k3)。则四元数到轴角的转换为:
- θ = 2 arccos q0
- [k1, k2, k3]T = [q1, q2, q3]T / sin(θ/2)