首页 > 其他 > 详细

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

时间:2018-09-15 00:33:15      阅读:557      评论:0      收藏:0      [点我收藏+]

罗德里格斯公式推导

技术分享图片

 

图1(复制自wiki)

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

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

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

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

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

因此,v⊥‘=wsinθ+v⊥cosθ
vrot=wsinθ+v⊥cosθ+v∥

w=kXv
v∥=<k,v>k
v⊥=v-v∥
<k,v>k=kTvk(根据点乘转换成矩阵)= kkTv(可验证)
kXv=K*v (设K*为k的对偶矩阵)(根据叉乘转矩阵的方法)
vrot=K*vsinθ+(v- kkTv)cosθ+kkTv
=(K*sinθ+Icosθ+kkT(1-cosθ))v

最后得出旋转公式R=K*sinθ+Icosθ+kkT(1-cosθ)

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

原文:https://www.cnblogs.com/cnblog-wuran/p/9649479.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!