歡迎來到矩陣變換的世界!

你好!這一章將帶你探索如何用矩陣來處理幾何變換。別擔心「變換」(transformation) 這個詞聽起來很複雜——它其實就是指圖形的移動或形狀改變。利用 2x2 矩陣,我們只需透過簡單的乘法,就能執行旋轉、反射等各種變換。

為什麼這很重要? 在電腦繪圖、工程學和物理學等領域,矩陣是計算物體在空間中如何移動、縮放或變形的基礎工具。掌握這一章,你就擁有了破解幾何難題的強大代數武器!

1. 基礎概念:點的映射

1.1 什麼是變換矩陣?

變換矩陣 \( \mathbf{M} \) 是一個 2x2 矩陣,當它與一個位置向量(即一個點)相乘時,會將其轉換為一個新的位置向量(即像點)。

我們將座標為 \((x, y)\) 的點 \(P\) 表示為列向量 \( \mathbf{p} = \begin{pmatrix} x \\ y \end{pmatrix} \)。

變換的過程永遠是:

$$ \mathbf{M} \mathbf{p} = \mathbf{p}' $$

其中 \(\mathbf{p}'\) 是像點,座標為 \((x', y')\)。

簡單來說: 可以把矩陣 \(\mathbf{M}\) 想像成一台小機器。你把原始點的座標輸入進去,機器就會輸出變換後的新座標!

1.2 映射步驟範例

設變換矩陣為 \( \mathbf{T} = \begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} \)。求點 \( A(4, -1) \) 的像。

  1. 將點 A 寫成列向量: \( \mathbf{a} = \begin{pmatrix} 4 \\ -1 \end{pmatrix} \)。
  2. 進行矩陣乘法: $$ \mathbf{a}' = \mathbf{T} \mathbf{a} = \begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} \begin{pmatrix} 4 \\ -1 \end{pmatrix} $$
  3. 計算結果向量: $$ \mathbf{a}' = \begin{pmatrix} (2)(4) + (1)(-1) \\ (0)(4) + (3)(-1) \end{pmatrix} = \begin{pmatrix} 8 - 1 \\ 0 - 3 \end{pmatrix} = \begin{pmatrix} 7 \\ -3 \end{pmatrix} $$

點 \(A(4, -1)\) 的像為 \(A'(7, -3)\)。

重點筆記 1:矩陣順序很重要!

務必確保將變換矩陣乘以列向量時,矩陣是在 左邊 的: \( \mathbf{M} \mathbf{p} \)。你不能寫成 \(\mathbf{p} \mathbf{M}\),因為它們的維度不符合矩陣乘法的規則!

2. 如何求變換的矩陣

不用急著死背每一個變換矩陣,有一個天才方法可以讓你推導出 任何 二維變換矩陣 \(\mathbf{M}\)。

2.1 基底向量法

所有(以原點為固定點的)二維變換,都可以由兩個基本基底向量的變化來定義:

  • 沿 x 軸的向量: \( \mathbf{i} = \begin{pmatrix} 1 \\ 0 \end{pmatrix} \)
  • 沿 y 軸的向量: \( \mathbf{j} = \begin{pmatrix} 0 \\ 1 \end{pmatrix} \)

變換矩陣 \(\mathbf{M}\) 的構造方式是:將 \(\mathbf{i}\) 的像作為 第一列 (第一欄),將 \(\mathbf{j}\) 的像作為 第二列 (第二欄)

若變換 T 將 \(\mathbf{i} \to \begin{pmatrix} a \\ c \end{pmatrix}\) 且 \(\mathbf{j} \to \begin{pmatrix} b \\ d \end{pmatrix}\),則:

$$ \mathbf{M} = \begin{pmatrix} a & b \\ c & d \end{pmatrix} $$

你知道嗎? 這就是為什麼對於以原點為中心的二維變換,我們只需要 2x2 矩陣。如果原點發生位移(平移),我們就需要使用不同的系統(稱為齊次座標,通常在高級課程中才會涉及,所以這裡我們只探討以原點為中心的變換!)。

2.2 範例:求直線 \(y = -x\) 的反射矩陣

1. \(\mathbf{i} = (1, 0)\) 變到哪裡去了?
將 \((1, 0)\) 關於 \(y = -x\) 反射,座標會互換並變號。
\(\mathbf{i}\) 的像是 \((0, -1)\)。這就是 第一列 (第一欄): \(\begin{pmatrix} 0 \\ -1 \end{pmatrix}\)。

2. \(\mathbf{j} = (0, 1)\) 變到哪裡去了?
將 \((0, 1)\) 關於 \(y = -x\) 反射。
\(\mathbf{j}\) 的像是 \((-1, 0)\)。這就是 第二列 (第二欄): \(\begin{pmatrix} -1 \\ 0 \end{pmatrix}\)。

3. 組合成矩陣: $$ \mathbf{M} = \begin{pmatrix} 0 & -1 \\ -1 & 0 \end{pmatrix} $$

記憶小撇步: 矩陣 M 的兩欄分別就是點 (1, 0) 和 (0, 1) 的像。做題時,先檢查這兩個點準沒錯!

3. 常見標準變換

你必須能夠識別並寫出以下標準二維變換的矩陣,所有這些變換均以原點 \((0, 0)\) 為中心。

3.1 旋轉 (Rotations)

除非特別註明,否則旋轉均為逆時針方向。若要順時針旋轉角度 \(\theta\),請在公式中使用 \(-\theta\)。

繞原點逆時針旋轉 \(\theta\) 角: $$ \mathbf{R} = \begin{pmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{pmatrix} $$

範例: 逆時針旋轉 \(90^\circ\) (\(\theta = 90^\circ\)): $$ \mathbf{R}_{90} = \begin{pmatrix} \cos 90^\circ & -\sin 90^\circ \\ \sin 90^\circ & \cos 90^\circ \end{pmatrix} = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} $$

3.2 反射 (Reflections)

反射將點映射到它們在鏡像線(反射軸)另一側的位置。

  • 關於 x 軸反射 (\(y=0\)): $$ \mathbf{R}_{x} = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} $$
  • 關於 y 軸反射 (\(x=0\)): $$ \mathbf{R}_{y} = \begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix} $$
  • 關於 \(y=x\) 反射: (x 與 y 互換) $$ \mathbf{R}_{y=x} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} $$
  • 關於 \(y=-x\) 反射: (x 與 y 互換並同時變號) $$ \mathbf{R}_{y=-x} = \begin{pmatrix} 0 & -1 \\ -1 & 0 \end{pmatrix} $$
3.3 放大/縮小 (Enlargements)

放大 (Enlargement) 是以原點為中心的縮放,縮放因子為 \(k\)。每個座標都要乘以 \(k\)。

放大,縮放因子 \(k\),中心為原點: $$ \mathbf{E} = \begin{pmatrix} k & 0 \\ 0 & k \end{pmatrix} $$

注意: 若 \(k\) 為負值,則意味著放大再加上 \(180^\circ\) 的旋轉。若 \(k=1\),該矩陣為 單位矩陣 (Identity Matrix) \( \mathbf{I} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \)。單位矩陣不會對圖形產生任何影響!

3.4 拉伸 (Stretches)

拉伸 只會改變平行於其中一個軸的尺寸。

  • 平行於 x 軸拉伸 (y 座標固定),因子為 \(k\): $$ \mathbf{S}_{x} = \begin{pmatrix} k & 0 \\ 0 & 1 \end{pmatrix} $$
  • 平行於 y 軸拉伸 (x 座標固定),因子為 \(k\): $$ \mathbf{S}_{y} = \begin{pmatrix} 1 & 0 \\ 0 & k \end{pmatrix} $$
3.5 錯切 (Shears)

錯切 (Shear) 將圖形平行於一個軸進行滑動,滑動距離取決於它離另一個軸的距離。

  • 平行於 x 軸錯切: x 座標改變 \(k \times y\) 的距離。(平行於 x 軸的直線保持不變。) $$ \mathbf{Sh}_{x} = \begin{pmatrix} 1 & k \\ 0 & 1 \end{pmatrix} $$
  • 平行於 y 軸錯切: y 座標改變 \(k \times x\) 的距離。(平行於 y 軸的直線保持不變。) $$ \mathbf{Sh}_{y} = \begin{pmatrix} 1 & 0 \\ k & 1 \end{pmatrix} $$

速查:關鍵矩陣

單位矩陣: \( \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \) (無任何變化)

放大 (k): \( \begin{pmatrix} k & 0 \\ 0 & k \end{pmatrix} \)

旋轉 (\(\theta\)): \( \begin{pmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{pmatrix} \)

其他矩陣中 '1' 和 '0' 的位置告訴你哪個軸受到影響或保持固定!

4. 複合變換

在現實世界中,物體通常會經歷多次移動。複合變換就是連續執行一個變換後,再執行另一個變換。

4.1 乘法順序

如果一個圖形先經過變換 \(T_1\),再經過變換 \(T_2\),且它們各自的矩陣分別為 \(\mathbf{M}_1\) 和 \(\mathbf{M}_2\),則複合變換矩陣 \(\mathbf{M}\) 為這兩個矩陣的乘積。

$$ \mathbf{M} = \mathbf{M}_2 \mathbf{M}_1 $$

關鍵點(常見錯誤提醒!): 矩陣乘法的順序與變換執行的順序是相反的!

如果你先執行 \(T_1\),它的矩陣 \(\mathbf{M}_1\) 必須寫在靠近位置向量 \(\mathbf{p}\) 的那一側: $$ \mathbf{p}' = \mathbf{M}_2 (\mathbf{M}_1 \mathbf{p}) $$

口訣:從右往左讀!
先作用於向量的矩陣寫在右邊。
4.2 範例:組合變換

求先進行直線 \(y=x\) 的反射,再進行繞原點順時針旋轉 \(90^\circ\) 的複合變換矩陣。

1. 定義矩陣(順時針 \(90^\circ\) 即 \(\theta = -90^\circ\)):
反射 \(T_1\): \( \mathbf{M}_1 = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \)
旋轉 \(T_2\): \( \mathbf{M}_2 = \begin{pmatrix} \cos(-90) & -\sin(-90) \\ \sin(-90) & \cos(-90) \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix} \)

2. 計算複合矩陣 \(\mathbf{M} = \mathbf{M}_2 \mathbf{M}_1\): $$ \mathbf{M} = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix} \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} (0)(0) + (1)(1) & (0)(1) + (1)(0) \\ (-1)(0) + (0)(1) & (-1)(1) + (0)(0) \end{pmatrix} $$

$$ \mathbf{M} = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} $$

觀察: 這個複合變換結果等於關於 x 軸的反射!

5. 面積縮放因子與逆變換

5.1 行列式與面積

變換矩陣 \(\mathbf{M} = \begin{pmatrix} a & b \\ c & d \end{pmatrix}\) 的 行列式 (determinant),記為 \(\det(\mathbf{M})\) 或 \(|\mathbf{M}|\),代表了該變換的 面積縮放因子

$$ \det(\mathbf{M}) = ad - bc $$

若原圖形的面積為 \(A\),則新面積 \(A'\) 為: $$ A' = |\det(\mathbf{M})| \times A $$ 我們使用絕對值是因為面積永遠為正。

  • 若 \(|\det(\mathbf{M})| > 1\),圖形被放大。
  • 若 \(|\det(\mathbf{M})| < 1\),圖形被縮小。
  • 若 \(|\det(\mathbf{M})| = 1\),面積不變(如旋轉、反射和錯切)。

奇異矩陣: 若 \(\det(\mathbf{M}) = 0\),該矩陣稱為 奇異矩陣 (singular matrix)。這意味著變換將整個平面壓縮成一條直線或一個點。此時面積變為零,且該變換是不可逆的。

5.2 逆變換

若變換 \(\mathbf{M}\) 將 \(P\) 映射到 \(P'\),則 逆變換 \(\mathbf{M}^{-1}\) 將 \(P'\) 映射回 \(P\)。

逆矩陣僅在行列式不為零(即矩陣為 非奇異 (non-singular))時存在。

回顧 2x2 矩陣的逆矩陣公式: $$ \mathbf{M}^{-1} = \frac{1}{\det(\mathbf{M})} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix} $$

逆變換的作用是「還原」原始變換。例如,逆時針旋轉 \(+30^\circ\) 的逆變換就是順時針旋轉 \(30^\circ\)。

6. 不變點與不變直線

當進行變換時,有些點可能保持不動,有些直線可能保持在相同的位置(即使線上的點發生了移動)。這些是不變性的關鍵特徵。

6.1 求不變點

不變點 (invariant point) \(\mathbf{p}\) 是指滿足 \(\mathbf{M} \mathbf{p} = \mathbf{p}\) 的點。

設 \( \mathbf{M} = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \) 且 \( \mathbf{p} = \begin{pmatrix} x \\ y \end{pmatrix} \)。

我們解方程組: $$ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} x \\ y \end{pmatrix} $$

這可以重寫為: $$ \begin{pmatrix} a-1 & b \\ c & d-1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \end{pmatrix} $$

範例: 對於任何以原點為中心的旋轉或放大,原點 \((0, 0)\) 永遠是唯一的不變點。

6.2 求不變直線

不變直線 (invariant line) 是指直線上的每一個點映射後仍在該直線上(即使點的位置發生了改變)。

若 \(y = mx + c\) 為不變直線,則對於線上任意點 \((x, y)\),其像 \((x', y')\) 也必須滿足 \(y' = mx' + c\)。

這通常需要列聯立方程,並找出使結果對應於 x 值區間成立的情況。這往往是本科目中代數處理最複雜的部分。

重點筆記 2:代數幾何

這一章的核心就是將幾何(旋轉、錯切等)轉換為代數(矩陣乘法)。當題目要求你「描述變換」時,你必須明確指出 類型(例如:旋轉)、縮放因子(若適用),以及 直線/角度/中心(例如:繞原點、關於 \(y=x\) 反射)。