欢迎访问我的博客首页。
二维刚体变换
- 1. 二维旋转矩阵
- 2. 参考
1. 二维旋转矩阵
二维世界坐标系中任一点 P ( x , y ) P(x, y) P(x,y) 绕原点逆时针旋转 θ \theta θ 度到点 P ′ ( x ′ , y ′ ) P'(x', y') P′(x′,y′),这个旋转可以用一个二维矩阵表示
R 逆 = [ c o s θ − s i n θ s i n θ c o s θ ] . (1.1) R_逆 = \begin{bmatrix} cos \theta & -sin \theta \\ sin \theta & cos \theta \end{bmatrix}. \tag{1.1} R逆=[cosθsinθ−sinθcosθ].(1.1)
证明:因为只考虑旋转不考虑平移,所以点 P P P 到原点的距离等于点 P ′ P' P′ 到原点的距离,我们设为 r r r。假设直线 O P OP OP 与 x x x 轴的夹角是 ϕ \phi ϕ。那么
{ x = r c o s ϕ y = r s i n ϕ (1.2) \left\{\begin{aligned} x &= r cos \phi \\ y &= r sin \phi \end{aligned}\right. \tag{1.2} {xy=rcosϕ=rsinϕ(1.2)
{ x ′ = r c o s ( ϕ + θ ) = r c o s ϕ c o s θ − r s i n ϕ s i n θ y ′ = r s i n ( ϕ + θ ) = r s i n ϕ c o s θ + r c o s ϕ s i n θ (1.3) \left\{\begin{aligned} x' &= r cos (\phi + \theta) = r cos \phi cos \theta - r sin \phi sin \theta\\ y' &= r sin (\phi + \theta) = r sin \phi cos \theta + r cos \phi sin \theta \end{aligned}\right. \tag{1.3} {x′y′=rcos(ϕ+θ)=rcosϕcosθ−rsinϕsinθ=rsin(ϕ+θ)=rsinϕcosθ+rcosϕsinθ(1.3)
把公式 (1.2) 代入公式 (1.3) 得
{ x ′ = x c o s θ − y s i n θ y ′ = y c o s θ + x s i n θ . (1.4a) \left\{\begin{aligned} x' &= x cos \theta - y sin \theta\\ y' &= y cos \theta + x sin \theta \end{aligned}\right.. \tag{1.4a} {x′y′=xcosθ−ysinθ=ycosθ+xsinθ.(1.4a)
把公式 (1.4a) 写成矩阵形式是
[ x ′ y ′ ] = [ c o s θ − s i n θ s i n θ c o s θ ] [ x y ] . (1.4b) \begin{bmatrix} x' \\ y' \end{bmatrix}= \begin{bmatrix} cos \theta & -sin \theta \\ sin \theta & cos \theta \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}. \tag{1.4b} [x′y′]=[cosθsinθ−sinθcosθ][xy].(1.4b)
把公式 (1.1) 中的 θ \theta θ 换成 − θ -\theta −θ 就可以得到顺时针旋转 θ \theta θ 度的旋转矩阵 R 顺 R_顺 R顺。
2. 参考
- 二维旋转矩阵,CSDN,2020。