在计算机图形学中,图形变换是通过对图形的顶点坐标应用数学操作来实现的,这些操作可以改变图形的位置、形状和大小。以下是一些基本的二维和三维变换方法及其数学原理:
二维变换
缩放变换 定义
:将图形在x轴和y轴方向上分别按比例缩放。
数学表达式 \[ \begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} S_x & 0 & 0 \\ 0 & S_y & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} \] 其中
镜像变换(反射变换) 定义
:关于某条轴(例如y轴)进行镜像。
数学表达式 \[ \begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} -1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} \quad \text{或} \quad \begin{bmatrix} 1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \] 其中
剪切变换 定义
:沿着某条直线(例如x轴)剪切图形的一部分。
数学表达式 \[ \begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} 1 & a & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} \] 其中
旋转变换 定义
:绕原点逆时针旋转一定角度。
数学表达式 \[ \begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} \cos \theta & -\sin \theta & 0 \\ \sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} \] 其中
平移变换 定义
:将图形沿x轴和y轴分别移动一定距离。
数学表达式 \[ \begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & tx \\ 0 & 1 & ty \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} \] 其中
三维变换
缩放变换 定义
:在x轴、y轴和z轴方向上分别按比例缩放。
数学表达式
\[
\begin{bmatrix}
x' \\
y' \\
z' \\
1
\end{bmatrix}
=
\begin{bmatrix}
S_x &