二维平移矩阵: P^{'}=T(t_{x},t_{y}){\cdot}P
\begin{bmatrix} x^{'} \\ y^{'} \\ 1 \end{bmatrix}=\begin{bmatrix} 1 & 0 & t_{x} \\ 0 & 1 & t_{y} \\ 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}
逆矩阵:T^{'} = \begin{bmatrix} 1 & 0 & -t_{x} \\ 0 & 1 & -t_{y} \\ 0 & 0 & 1 \end{bmatrix}
二维旋转矩阵: P^{'} = R(\theta){\cdot}P
\begin{bmatrix} x^{'} \\ y^{'} \\ 1 \end{bmatrix} = \begin{bmatrix} cos\theta & -sin\theta & 0 \\ sin\theta & cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}
逆矩阵:R^{'} = \begin{bmatrix} cos\theta & sin\theta & 0 \\ -sin\theta & cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix}
二维矩阵缩放: P^{'}=S(s_{x},s_{y}){\cdot}P
\begin{bmatrix} x^{'} \\ y^{'} \\ 1 \end{bmatrix} = \begin{bmatrix} s_{x} & 0 & 0 \\ 0 & s_{y} & 0 \\ 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}
逆矩阵:S^{-1} = \begin{bmatrix} \frac{1} {s_{x}} & 0 & 0 \\ 0 & \frac{1}{s_{y}} & 0 \\ 0 & 0 & 1 \end{bmatrix}
通用二维基准点旋转
- 1、平移对象使基准点位置移动到坐标原点;
- 2、绕坐标原点旋转;
- 3、平移对象使基准点回到其原始位置。
变换公式:
\begin{bmatrix} 1 & 0 & x_{'} \\ 0 & 1 & y_{'} \\ 0 & 0 & 1 \end{bmatrix} {\cdot} \begin{bmatrix} cos\theta & -sin\theta & 0 \\ sin\theta & cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} {\cdot} \begin{bmatrix} 1 & 0 & -x_{r} \\ 0 & 1 & -y_{r} \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} cos\theta & -sin\theta & x_{r}(1-cos\theta)+y_{r}sin\theta \\ sin\theta & cos\theta & y_{r}(1-cos\theta)-x_{r}sin\theta) \\ 0 & 0 &1 \end{bmatrix}
通用二维基准点缩放
- 1、平移对象使固定点与坐标原点重合;
- 2、对于坐标原点进行缩放;
- 3、使用步骤1的反向平移将对象返回到原始位置;
变换公式:
\begin{bmatrix} 1 & 0 & x_{f} \\ 0 & 1 & y_{f} \\ 0 & 0 & 1 \end{bmatrix} {\cdot} \begin{bmatrix} s_{x} & 0 & 0 \\ 0 & s_{y} & 0 \\ 0 & 0 & 1 \end{bmatrix} {\cdot} \begin{bmatrix} 1 & 0 & -x_{f} \\ 0 & 1 & -y_{f} \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} s_{x} & 0 & x_{f}(1-s_{x}) \\ 0 & s_{y} & y_{f}(1-s_{y}) \\ 0 & 0 & 1 \end{bmatrix}
网友评论