码迷,mamicode.com
首页 > 其他好文 > 详细

2d,3d中旋转推导

时间:2014-11-28 16:00:58      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   sp   2014   问题   log   bs   ad   

bubuko.com,布布扣

二维绕原点旋转,其实点为(x,y),旋转角度为黄色标注的角度。

推导过程如下:

x‘ = r cos(al+be);

y‘ = r sin(al+be);
x ‘= rcosalcosbe-rsinalsinbe;
y‘= rsinalcosb+rcosalsinbe;
又因为rcosal= x; rsinal=y;
所以x‘=xcosbe-ysinbe; y‘=xsinbe+ycosbe

即为求的的旋转后坐标为(xcosbe-ysinbe,xsinbe+ycosbe);

 

 

3d中旋转(摘自网络中博客)

开始的时候,自己很难推导出来,一是自己空间几何不怎么样,而是自己不会思考动脑。 以前看书不太懂,现在看其实自己在推导过程中对单位向量没有吃透,很多过程中都需要单位向量和长度来计算一个向量,以前没有意思到。3d推导确实复杂些,但也没有那没复杂的理解不了。

左手坐标系下,一点绕任意轴旋转θ角的右乘矩阵:

bubuko.com,布布扣

bubuko.com,布布扣

其中C为cosθ,S为sinθ,A为单位化的旋转轴

以下推导均为左手坐标

bubuko.com,布布扣

 

首先我们将P看成从原点出发的自由向量,将其分解为平行于轴A与垂直于轴A的分量A1,A2的形式:

bubuko.com,布布扣    (公式1)

如图2:

bubuko.com,布布扣

图2

bubuko.com,布布扣                        (公式2)

bubuko.com,布布扣              (公式3)

由于平行分量A1在旋转过程中保持不变,问题就在于垂直分量A2。先将A2旋转θ度后(A3)再加上A1就可以得到最终的旋转结果。如图3:

bubuko.com,布布扣

图3蓝色的点为P点旋转θ度后的位值

旋转后的位置点P'为:

bubuko.com,布布扣   (公式4)

因为A2到A3的旋转是在垂直于A轴平面内进行的,所以可以将A3分解为A2与A2逆时针方向旋转90度的向量A4上的两个分量的形式。如图4:

bubuko.com,布布扣

图4

下面我们来求A4
A2可以看成φ的对边,如图5:

bubuko.com,布布扣

图5

A2的长度为:

bubuko.com,布布扣   (公式5)

我们想要的向量A4正好为:

bubuko.com,布布扣   (公式6)

bubuko.com,布布扣    (公式7)

因为A为单位向量所以(公式7)与(公式5)相等,这样长度相等并且同时垂直于A1,A2,所以就是我们要求的A4。

接下为求A3,我们用一个垂直于A的平面图来看一下,这样更直接,如图6:

bubuko.com,布布扣

图6

A2'与A4'分别为A3在A2与A4上的分量。

bubuko.com,布布扣   (公式8)

bubuko.com,布布扣   (公式9)

bubuko.com,布布扣 (公式10)

因为:A2,A3,A4的长度都相等所以上面的两式化简为:

bubuko.com,布布扣   (公式11)

bubuko.com,布布扣   (公式12)

将以上公式代入到(公式4)中计算最终结果:

bubuko.com,布布扣

整理后得:

bubuko.com,布布扣   (公式13)

设:

bubuko.com,布布扣

bubuko.com,布布扣

写成矩阵的形式为:

bubuko.com,布布扣   (公式14)

bubuko.com,布布扣   (公式15)

bubuko.com,布布扣   (公式16)

代入(公式13)得:

bubuko.com,布布扣

最终齐次的旋转矩阵为:

bubuko.com,布布扣   (公式17)

2d,3d中旋转推导

标签:blog   http   os   sp   2014   问题   log   bs   ad   

原文地址:http://www.cnblogs.com/sdnyzhl/p/4128441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!