"CG-Lecture-第9周-二维几何变换"
在计算机图形学中,二维几何变换是处理和操作图形的重要组成部分。这些变换能够帮助我们改变图形的位置、大小和方向,以创建复杂的视觉效果。本课程主要涵盖了三种基本的二维几何变换:平移、比例(缩放)和旋转,以及它们的矩阵表示和复合变换。
首先,平移(Translation)是将图形沿X和Y轴移动的过程。平移可以通过以下方程实现:
\[ x' = x + tx \]
\[ y' = y + ty \]
其中,\( P \) 是原始坐标,\( P' \) 是平移后的坐标,\( tx \) 和 \( ty \) 分别是X轴和Y轴上的平移量。在矩阵表示中,平移变换可以用以下2x3矩阵表示:
\[ \begin{bmatrix} 1 & 0 & tx \\ 0 & 1 & ty \\ 0 & 0 & 1 \end{bmatrix} \]
其次,比例(Scaling)变换是改变图形大小的操作,分为X轴和Y轴两个方向。缩放因子分别为 \( Sx \) 和 \( Sy \),变换公式如下:
\[ x' = x \cdot Sx \]
\[ y' = y \cdot Sy \]
当 \( Sx = Sy \) 时,称为一致缩放,保持图形的比例;而 \( Sx \neq Sy \) 时,为差值缩放,会导致图形拉伸或压缩。在矩阵表示中,比例变换可以写为:
\[ \begin{bmatrix} Sx & 0 & 0 \\ 0 & Sy & 0 \\ 0 & 0 & 1 \end{bmatrix} \]
再者,旋转(Rotation)是围绕一个固定点(通常为原点)改变图形方向的变换。旋转角度为 \( \theta \),旋转公式如下:
\[ x' = r \cos(\alpha + \theta) \]
\[ y' = r \sin(\alpha + \theta) \]
其中,\( r \) 是点到旋转中心的距离,\( \alpha \) 是点初始与X轴的夹角。使用矩阵表示,旋转变换可以表示为:
\[ \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \]
二维复合变换(Composite Transformations)是连续应用多个基本变换。例如,先进行缩放再旋转,或者先旋转再平移,可以组合相应的变换矩阵进行计算。例如,先缩放再旋转的复合变换矩阵为:
\[ \begin{bmatrix} Sx \cos\theta & -Sx \sin\theta & 0 \\ Sy \sin\theta & Sy \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \]
齐次坐标(Homogeneous Coordinates)是一种扩展的坐标系统,用于方便地表示和执行几何变换。在二维空间中,一个点 \( P(x, y) \) 可以表示为齐次坐标 \( P(hx, hy, h) \),其中 \( h \neq 0 \)。通过引入额外的分量,我们可以更容易地进行变换矩阵运算。例如,平移变换在齐次坐标下的矩阵变为:
\[ \begin{bmatrix} 1 & 0 & tx \\ 0 & 1 & ty \\ 0 & 0 & 1 \end{bmatrix} \]
二维几何变换是计算机图形学中的核心概念,它们通过矩阵运算实现,使得图形的处理变得高效且灵活。掌握这些变换对于理解和创建动态图形、3D模型以及各种图形应用至关重要。