二维空间内,旋转、对称矩阵的实现

概述

本文为解决以下问题:
对二维空间内的点做矩阵变换,实现

  • 以点为旋转中心,以 r 为旋转角,做旋转
  • 以过点,与 x 轴正方向夹角为的直线为对称轴,做对称

即,分别求其定点旋转矩阵、定轴对称矩阵
其中定点旋转矩阵由平移矩阵和中心旋转矩阵得来,轴对称矩阵则由定点旋转矩阵和轴对称矩阵得来

已知

有列向量

平移矩阵

对有平移矩阵

使得

即点延向量平移至点

中心旋转矩阵

对有中心旋转矩阵

使得

即点以为旋转中心,逆时针旋转至点

定点旋转矩阵

由此可知,要使点以点为旋转中心旋转,可先将点加上向量,做旋转后再加上向量平移回来,几何证明请参考下图

二维空间内,旋转、对称矩阵的实现_第1张图片
定点旋转

则对有定点旋转矩阵

C= \left[\begin{matrix} 1&0&-a \\ 0&1&-b \\ 0&0&1 \end{matrix}\right] \times \left[\begin{matrix} \cos\theta&-\sin\theta&0 \\ \sin\theta&\cos\theta&0 \\ 0&0&1 \end{matrix}\right] \times \left[\begin{matrix} 1&0&a \\ 0&1&b \\ 0&0&1 \end{matrix}\right]


使得

即点以为旋转中心,逆时针旋转角度至上述点

轴对称矩阵

对有轴对称矩阵

使得

即点以直线为对称轴做对称至点

定轴对称矩阵

由此可知,要使点其以直线为对称轴做对称,其中点坐标为,直线与x轴的夹角为,可先将点以为旋转中心,为旋转角做旋转,之后以直线做对称轴做对称,再以为旋转中心,为旋转角旋转回来,几何证明请参考下图

二维空间内,旋转、对称矩阵的实现_第2张图片
定轴对称

则对有定轴对称矩阵




使得

即点以直线为对称轴,做对称至上述点
(最后的计算有空会补上,若有计算错误还请指出)

你可能感兴趣的:(二维空间内,旋转、对称矩阵的实现)