之前想明白过,隔了一段时间没看,现在又忘记了。重新复习一下。
这篇博客写的很明白
推公式的话从坐标旋转开始推,容易理解,又容易推导。
1、坐标系中点的旋转的旋转矩阵
x'=rcos(α+β) = r(cosαcosβ-sinαsinβ) = xcosβ-ysinβ
y'=rsin(α+β) = r(sinαcosβ-cosαsinβ) = xsinβ+ycosβ
也就是
2、坐标系旋转的旋转矩阵
这个公式参考上面的那个链接,不想推导了。。画图打公式感觉好费时间
1和2的区别就在于:1是一个点的旋转,坐标系没动,得到的是动的点在原来坐标系下相对原来点的矩阵表示
2是坐标系的旋转,点是不动的,得到的是不动的点在动了的坐标系下的表示
点旋转β相当于坐标系旋转了-β。所以我可以直接在1的基础上,把角度反转,就成了坐标系的旋转。
而实际在书中介绍表示姿态的旋转矩阵时,说的其实都是第1种。更加直观容易理解,就是当前载体往正方向转了β度后的坐标与原来坐标的关系。
推导:
翻译自: http://www.metro-hs.ac.jp/rs/sinohara/zahyou_rot/zahyou_rotate.htm
翻译: 汤 永康
出处: http://blog.csdn.net/tangyongkang
转贴请注明出处
1 围绕原点的旋转
如下图, 在2维坐标上,有一点p(x, y) , 直线opの长度为r, 直线op和x轴的正向的夹角为a。 直线op围绕原点做逆时针方向b度的旋转,到达p’ (s,t)
s = r cos(a + b) = r cos(a)cos(b) – r sin(a)sin(b) (1.1)
t = r sin(a + b) = r sin(a)cos(b) + r cos(a) sin(b) (1.2)
其中 x = r cos(a) , y = r sin(a)
代入(1.1), (1.2) ,
s = x cos(b) – y sin(b) (1.3)
t = x sin(b) + y cos(b) (1.4)
用行列式表达如下:
2.座标系的旋转
在原坐标系xoy中, 绕原点沿逆时针方向旋转theta度, 变成座标系 sot。
设有某点p,在原坐标系中的坐标为 (x, y), 旋转后的新坐标为(s, t)。
oa = y sin(theta) (2.1)
as = x cos(theta) (2.2)
综合(2.1),(2.2) 2式
s = os = oa + as = x cos(theta) + y sin(theta)
t = ot = ay – ab = y cos(theta) – x sin(theta)
用行列式表达如下: