绕任意轴旋转的变换矩阵的推导

转载 2012年03月27日 09:19:17

原文来自:

http://hi.baidu.com/twjblog/blog/item/3901f96a15f5f2cf80cb4a7b.html


    推导过程中我们使用的是左手坐标系。(感觉是右手坐标系

现在,我们假设3D空间中有一点P要绕任意轴A进行旋转,如图:

                                 图1

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

                                 图2

向量加法的几何解释为: u + v = 将向量v平移,使其始端与u的末端重合,u + v就是自向量u的始端指向平移后的向量v的末端的向量。

所以,由图2可以知道:

 (公式1)

 

现在,我们先来求A1。我们知道,一个向量 = 该向量的模 * 该向量对应的单位向量。所以(式1)

假设A1与点P之间的夹角为θ,根据图2,可以知道(式2)。所以合并式1,式2后我们可以得到

由于A1向量是点P相对于A轴的平行投影,所以A1的单位向量与A的单位向量是相同的,于是,我们得到

因为一个向量的单位向量 = 该向量 / 该向量的模,所以,此时,我们把A当做单位向量来对待,那么A的模就是1。所以,(公式2)

而根据公式1可求得(公式3)

 

由于平行分量A1在旋转过程中是不会变的,所以关键就在于垂直分量A2。现将P旋转θ度后效果如图:

           图3: P绕A轴旋转θ度,P'为旋转后的点

根据上文提到的向量加法几何解释,我们知道:

(公式4)

A1我们上面已经求过了,现在只要求出A3,那么就能求出旋转后的点P'。

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

                                 图4

我们先来求A4。根据图2,我们知道(公式5)

而A4是A2逆时针旋转90度而来的向量,所以A4的模 = A2的模。所以(公式6)

根据图4,我们可以发现(公式7)。这样,A4与A4的模都求完了。

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

                     图5

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

根据上文提到的向量的几何解释,我们知道(公式8)
并且由于一个向量 = 该向量的模 * 该向量对应的单位向量,我们可以求得A2'和A4':

(公式9)

(公式10)

 因为A3,A4都是A2旋转得到的向量,所以它们3者的模相同,所以我们可以简化公式9和公式10,得到:

(公式11)

(公式12)

现在,我们可以总结了。首先,将我们求得的各项结果代入公式4,得到:

 

将上面的式子合并整理后,得到:

(公式13)

 

现在,我们假设如下:

 

我们来把上面总结整理的式子写入矩阵,首先,写第一项:

(公式14)

第二项:

 (公式15)

第三项:

 (公式16)

最后,把3项代入公式13,即得:

 

后,我们求得了绕任意轴旋转的变换矩阵:

 

 

以上仅供大家参考,谢谢!


矩阵变换:沿任意轴旋转及其推导

1. 2D中绕原点旋转 设基向量p,q和r分别是朝向+x,+y和+z方向的单位向量。 旋转角度为θ,基向量p,q绕原点旋转,得到新的基向量p`和q` 即旋转矩阵R(θ)为 ...

绕任意单位轴旋转矩阵计算

http://blog.csdn.net/xiajun07061225/article/details/7766838     在三维变换中,经常要用到旋转变换,而且很多变换是围绕任意轴的。那么...

绕任意轴旋转的矩阵推导

(A . P / |A|² )  表示   点击的投影公式   。P 投影到A

3D中绕任意轴旋转的推断问题

当然也能绕3D中任意轴旋转。因为这里不考虑平移,可以假设旋转轴通过原点。这种旋转比绕坐标轴的旋转更复杂也更少见。用单位向量n描述旋转轴,和前面一样的θ描述旋转量。让我们导出绕轴n旋转角度θ的矩阵。也就...
  • L_Andy
  • L_Andy
  • 2016年08月19日 09:50
  • 2135

绕任意轴旋转的矩阵推导

绕任意轴旋转的矩阵推导   左手坐标系下,一点绕任意轴旋转θ角的右乘矩阵: 其中C为cosθ,S为sinθ,A为单位化的旋转轴 以下推导均为左手坐标   首先我们将P看成从原点出发的自由向量,将其...

3D数学--学习笔记(三):3D中绕任意轴的旋转

本文转自:http://blog.csdn.net/zjc_game_coder/article/details/24269757 不要小看我们在Unity或者3DMAX中的一个简单的旋转物体操作。...

三维坐标点绕任意轴旋转的新坐标计算

任意轴可以用一个起点一个方向向量来表示。那么绕任意轴旋转就可以先将此轴移到通过原点,然后再旋转,再将旋转完的新坐标做反向平移。 则问题化为 计算绕通过原点的向量旋转任意角度后的新点。假设单位向量为(...

笛卡尔坐标系中,,绕任意点旋转的公式

18号在华工激光笔试的时候碰到一道高数的题目 假设点(x,y)绕(x0,y0)逆时针旋转a角后变成(x',y'),则 x'-x0=(x-x0)cosa-(y-y0)sina y'-y0=(x-x0)...

PCL 构造一个绕任意轴旋转的变换矩阵

最近在用PCL的时候,需要对点云绕某一个轴进行旋转。于是上网查了些资料自己弄了个函数,分享给大家。...

PCA旋转变换矩阵的推导过程

PCA旋转变换矩阵的推导过程 1、协方差矩阵与相关系数矩阵的关系        标准化后的矩阵(mean=0,var=1),其相关系数矩阵就是原始矩阵的协方差矩阵(根据两者的数学公式可得)   2、P...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:绕任意轴旋转的变换矩阵的推导
举报原因:
原因补充:

(最多只允许输入30个字)