一、罗德里格斯公式的表达式
罗德里格斯公式(Rodriguez formula)是计算机视觉中的一大经典公式,在描述相机位姿的过程中很常用,其形式如下:
二、对罗德里格斯公式的理解
我们假设
v
⃗
\vec{v}
v向量绕
n
⃗
\vec{n}
n轴转了
θ
\theta
θ角度,得到了
v
⃗
′
\vec{v}'
v′向量,
R
\bf{R}
R为旋转矩阵,我们由旋转矩阵的概念可以知道,他们的关系如下:
v
⃗
′
=
R
v
⃗
\vec{v}'=\textbf{R} \vec{v}
v′=Rv
也就是说旋转前的向量坐标乘以旋转矩阵,等于旋转后的向量坐标。
三、罗德里格斯公式的推导
3.1. 数学模型的建立
以下是这个公式的推导过程(该推导及下图来自于youtube视频),首先我们需要建立以下数学模型,并且定义需要用到的向量。
3.2.若干用到的恒等式
然后我们先写出需要用到的几个恒等式:
公式一和公式二为向量的正交分解,分别将
v
⃗
\vec{v}
v和
v
⃗
′
\vec{v}'
v′分解为平行转轴的方向和垂直转轴的方向,公式三表明了旋转前后的平行分量没有变化,并且可以表示成为原向量经法向量矩阵(
n
n
′
\textbf{n}\textbf{n}'
nn′)变换后的向量。公式四表明了法向量
n
\textbf{n}
n与垂直分量的叉积和法向量与原始向量的叉积是相同的,公式五显而易见是因为此处
n
\textbf{n}
n为单位法向量。
3.3 核心表达式(对旋转后的垂直分量进行再分解)
然后我们对旋转后的向量
v
⃗
′
\vec{v}'
v′的垂直分量进行分解,选取
n
\textbf{n}
n为
z
z
z轴,
v
⃗
\vec{v}
v的垂直分量为
x
x
x轴,
n
\textbf{n}
n叉积
v
⃗
\vec{v}
v的垂直分量为
y
y
y轴,我们可以得到以下表达式:
3.4. 公式的代换推导
然后,我们就可以使用公式1-5进行代换,然后推导如下。
最后,我们可以看到红框中的内容就是罗德里格斯公式了。