在平面上搬動一個三角形,聽起來像國中幾何;把它寫成矩陣與向量,又像線性代數。兩端其實描述同一件事:用規則把每個點送到新位置。仿射變換是其中非常實用的一大家族,包含平移、旋轉、縮放與剪切等,能保持共線點仍共線,並維持平行線的平行關係。本文先建立幾何直覺,再對應到參數意義。
先把「變換」想成對每個點下指令
給定平面上的點 (x, y),變換輸出新點 (x', y')。若同一條規則套用到圖形的所有頂點,整個圖形就跟著變形或搬家。動畫、電腦繪圖、機器人定位與相機校正,背後都大量使用這類映射。
仿射變換可以理解成「線性變換+平移」:先做旋轉、縮放或剪切,再把結果整體搬移。缺少平移時,原點通常被固定;有了平移,圖形才能任意挪到別處。
三種最常見的基本動作
平移
平移不改變形狀與方向,只改變位置。參數就是水平與垂直移動量。直觀檢查:邊長、角度、面積都應保持,只有座標整體加減一個固定向量。
旋轉
旋轉繞某參考點把圖形轉過一個角度。形狀不變,方向改變。繞原點旋轉時,可用角度的餘弦與正弦組成的矩陣描述;若繞其他點旋轉,實務上常先平移到原點、旋轉、再平移回去。
縮放
縮放改變大小。若 x、y 方向比例相同,形狀相似放大或縮小;若兩軸比例不同,圓會被拉成橢圓,正方形可能變成長方形。面積會依比例因子變化,這是檢查實作是否正確的好線索。
為什麼要碰矩陣
當變換要連續組合——先轉再移再放大——逐點用幾何語言描述會愈來愈長。矩陣(搭配齊次座標處理平移)把組合變成乘法順序問題,方便程式計算,也方便一次套用到很多點。
對學習者而言,不必一開始就沉進符號海。更有效的路徑是:
- 在畫面上拖動平移、旋轉、縮放參數
- 觀察三角形頂點如何移動
- 再回頭看對應矩陣哪些數字在變
「參數 ↔ 畫面」對上了,矩陣就不再只是抽象表格。
讀矩陣時可以抓的特徵
- 平移成分主要影響位置,不應獨自改變邊的相對形狀
- 純旋轉應近似保持長度與角度
- 均勻縮放應保持角度,改變邊長比例
- 若出現剪切,直角可能不再是直角,但平行性往往仍在
用一個已知圖形(等腰直角三角形最方便)做前後對照,比只看數字更快發現實作錯誤。
和函數圖形的關係
函數圖形討論的是 y 與 x 的對應;幾何變換討論的是平面點集合如何被搬動。兩者都訓練「符號改變會造成什麼視覺後果」。例如平移參數很像把圖形在座標平面上搬家;縮放則像把圖形相對原點拉開。若你已會讀函數圖,進入變換會較順;反之,變換直覺也有助於理解圖形平移伸縮。
組合順序為什麼重要
先旋轉再平移,與先平移再旋轉,結果通常不同。這不是刁難,而是變換本質:動作作用在當下的座標狀態上。互動工具很適合做對照:固定角度與位移量,只交換操作順序,看三角形最終落點差在哪。建立「順序敏感」的直覺後,再看矩陣乘法不能隨便交換,就不會那麼抽象。
實務程式中也常把多個基本變換合成一個矩陣,一次套用到所有頂點,以減少重複計算。對學習者,建議先能手動說出每一步幾何意義,再接受合成後的單一矩陣。
結語
平移改位置、旋轉改方向、縮放改大小;把它們組合起來,就是日常最常見的仿射操作。先用幾何後果檢查,再用矩陣表達與組合,學習曲線會平緩很多。互動 Playground 的價值,正在於讓你同時看到形狀與參數,把線性代數從背公式,轉成可操作的空間直覺。