罗德里格斯公式推导

CS184.1X 计算机图形学导论 罗德里格斯公式推导-LMLPHP

图1(复制自wiki)

按照教程里,以图1为例子,设k为旋转轴,v为原始向量。 v以k为旋转轴旋转,旋转角度为θ,旋转后的向量为v。

首先我们对v进行分解,分解成一个平行于k和垂直于K的向量,分别为v和v。

则v=<k,v>k (因为这里设了k是单位向量,所以|k|=1)

v=v-v

为了方便研究旋转后的向量,我们以k和v的叉乘w以及v和v建立坐标系。
w=kXv

设v的分量为v',和v',显而易见的v'=v
而v'可以由v和w来表示。
由于v'是v的分量,因此显而易见的|v'|=|v|
设k和v之间的夹角为α
w=kXv,即|w|=|k||v|sinα
从图中我们根据三角形公式,也可以得出|v|=|v|sinα,而|k|=1,所以|v|=|w|

因此,v'=wsinθ+vcosθ
v=wsinθ+vcosθ+v

w=kXv
v=<k,v>k

v=v-v
<k,v>k=kvk(根据点乘转换成矩阵)= kkv(可验证)
kXv=Kv (设K为k的对偶矩阵)(根据叉乘转矩阵的方法)

v=Kvsinθ+(v- kkv)cosθ+kkv
=(Ksinθ+Icosθ+kk(1-cosθ))v

最后得出旋转公式R=Ksinθ+Icosθ+kk(1-cosθ)

05-28 17:15