本文将简单介绍二维几何变换,包括二维平移变换、二维旋转变换、二维缩放变换、二维仿射变换的变换过程和矩阵计算。
1 基本变换
二维几何基本变换包括平移、旋转、缩放。
1.1 平移
平移指的是将物体沿着某直线路径从一个坐标位置移动到另一个坐标位置,不产生形变的刚体变换。
假设原始坐标位置为(x,y),平移距离为t_{x}、t_{y},新位置为(x^{\prime},y^{\prime}),则x^{\prime}=x+t_x,y^{\prime}=y+t_y。
使用矩阵表示,则令
则:
1.2 旋转
旋转就是以某个点为旋转中心,将对象上的各个点(x,y)围绕旋转中心转动一个逆时针角度\theta,变成一个新坐标(x^{\prime},y^{\prime})的变换。
1.2.1 绕原点旋转
根据上图,
x^{\prime}=rcos(\varphi+\theta)=rcos\varphi cos\theta-rsin\varphi sin\theta \\
y'=rsin(\varphi+\theta)=rsin\varphi cos\theta+rcos\varphi sin\theta \\
\because x=rcos\varphi,y=rsin\varphi \\
\therefore x^{\prime}=xcos\theta-ysin\theta\quad y^{\prime}=xsin\theta+ycos\theta
\end{gathered}
转成矩阵形式,令
则
1.2.2 绕任意点旋转
绕任意点旋转其实和绕原点旋转差不多,不过还是有区别。
假设旋转中心为(x_{r},y_{r}),
- 首先需要将坐标系原点平移到(x_{r},y_{r})
- 然后在新的坐标系下做上一小节的旋转变换
- 最后将坐标原点平移回原坐标
最后变换公式如下:
1.3 缩放
缩放就是将对象按比例因子S_{x}和S_{y}放大或者缩小的变换。
根据上图,
令
则
不过缩放有特殊情况:
- 当S_{y} = -1,S_{x} = 1时,按x轴反射
- 当S_{y} = 1,S_{x} = -1时,按y轴反射
- 当S_{y} = -1,S_{x} = -1时,按原点(0,0)反射
2 二维变换矩阵
上述的每个基本变换都可以表示为普通矩阵形式:
2.1 平移
将2\times2矩阵扩充为3\times3矩阵,将二维几何变换的乘法和平移项组合成单一矩阵表示平移
2.2 旋转
绕原点的旋转
2.3 缩放
相对于坐标原点的缩放
\begin{pmatrix}x^\prime\\y^\prime\\1\end{pmatrix} =\begin{pmatrix}S_x&0&0\\0&S_y&0\\0&0&1\end{pmatrix}\cdot\begin{pmatrix}x\\y\\1\end{pmatrix} \\
\overrightarrow{P'}=\vec{S}(S_x,S_y)\vec{P}
\end{gathered}
3 复合变换
3.1 平移
假设坐标位置P进行两次连续的平移变换,平移向量为(t_{x1},t_{y1})和(t_{x1},t_{y1}),则变换后的坐标位置P^{\prime}为
\overrightarrow{P^{\prime}} =\vec{T}(t_{x2},t_{y2})\vec{T}(t_{x1},t_{y1})\vec{P}=\vec{T}(t_{x2},t_{y2})\cdot\vec{T}(t_{x1},t_{y1})\cdot\vec{P} \\
\vec{T}(t_{x2},t_{y2})\cdot\vec{T}(t_{x1},t_{y1})=\vec{T}(t_{x1}+t_{x2},t_{y1}+t_{y2}) \\
\therefore\overrightarrow{P^{\prime}}=\vec{T}(t_{x1}+t_{x2},t_{y1}+t_{y2})\cdot\vec{P}
\end{gathered}
3.2 旋转
和平移一样,如果连续进行两次旋转变换,则变换后的坐标位置P^{\prime}为
\text{L} \\
P^{^{\prime}}=\vec{R}(\theta_2)\vec{R}(\theta_1)\cdot\vec{P}=\vec{R}(\theta_2)\cdot\vec{R}(\theta_1)\cdot\vec{P} \\
\vec{R}(\theta_2)\cdot\vec{R}(\theta_1)=\vec{R}(\theta_1+\theta_2) \\
\therefore\vec{P^{\prime}}=\vec{R}(\theta_2+\theta_1)\cdot\vec{P}
\end{gathered}
3.3 缩放
如果连续进行两次缩放变化,则变换后的坐标位置P^{\prime}为
3.4 绕任意指定的旋转位置旋转的复合变换矩阵
根据上图
4 仿射变换
仿射变换公式如下:
仿射变换具有平行线转换到平行线,有限点映射到有限点的特征。平移,旋转,缩放,反射,错切是二维仿射变换的特例。
参考链接
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:计算几何 – 二维几何变换,二维平移、旋转、缩放、仿射变换
原文链接:https://www.stubbornhuang.com/2745/
发布于:2023年08月08日 11:23:51
修改于:2023年08月08日 11:28:18
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52