平面上的圖形可以被移動、轉動、放大縮小。這三件事合稱常見的仿射變換:直線仍是直線,平行仍平行,但長度與角度可以變。作業最容易錯的不是正弦餘弦怎麼查,而是順序。同一組數字,先旋轉再平移,和先平移再旋轉,三角形會停在不同位置。本站工具把順序鎖成:以原點為中心先縮放、再旋轉、最後平移。虛線是原圖,實線是變完的結果。本文講為什麼要鎖順序、矩陣三欄在記什麼;不把特徵向量與齊次座標整章搬進來。
為什麼「先轉後移」和「先移後轉」不一樣
旋轉預設繞原點。一個點若已經不在原點,再轉一次,走的是以原點為圓心的弧,不是繞自己的重心轉。所以你若先把三角形平移到右邊,再下達「轉 45 度」,它會繞原點掃出一大段,看起來像飛走。若先轉 45 度(此時還在原點附近),再平移,它只是斜著放到新位置,軌跡單純得多。
縮放同樣預設對原點。先放大再移,和先移再放大,遠近會差一截:離原點愈遠的點,被放大得愈誇張。工具把縮放放在旋轉前面、兩者都在平移之前,是為了讓「大小與朝向」先在原點處理完,最後才用平移決定落點。這不是唯一合法順序,只是這套畫面採用的約定。作業若寫「先平移再旋轉」,請不要用本工具的預設滑桿去對答案,除非你把平移先設成 0、轉完再改平移。
螢幕座標常常 y 軸向下;數學課 y 軸向上。畫布已把數學 y 翻成看起來向上,所以你在圖上看到的「往上移」與矩陣裡的正向 ty 一致。對作業時以數學座標為準,不要拿螢幕像素去量。
2×3 矩陣三欄分別在幹嘛
仿射平面變換可以用兩列、三欄的數字表示。對列向量寫法,最後一欄是平移;前兩欄裝縮放與旋轉混在一起的係數。工具顯示的數值與畫面套用同一組:先把點的 x、y 乘上含比例的餘弦與正弦,再加上平移。
不必一次背完整乘法,可以這樣讀:
- 平移為 0、比例為 1、角度為 0:矩陣接近單位狀態,實線應與虛線重合。
- 只改平移:前兩欄幾乎不動,最後一欄跟著 tx、ty 走,圖形形狀不變、位置變。
- 只改角度:圖形繞原點轉,平移欄仍是 0,三角形不會「自己轉一下卻同時飄到別處」。
- 只改比例:大小變、朝向不變。比例小於 1 是縮小,大於 1 是放大。
綜合預設(同時有平移、角度、比例)時,先在心裡把「大小與朝向」看成在原點完成,再把整個結果搬到 (tx, ty)。這樣對矩陣比較不容易把旋轉項誤認成平移。
函數圖問的是每一個 x 對應哪個 y;這裡問的是每一個點被同一套規則送到哪裡。蒙地卡羅用隨機點估面積;幾何變換的點是確定的,同一個輸入永遠得到同一個輸出。排序視覺化搬的是陣列位置,幾何搬的是平面座標。都可以「先看動畫、再回到定義」,定義不同。
看畫面時建議盯的三件事
- 虛線有沒有開:對照用。關掉原圖,就很難判斷你到底轉了還是移了。
- 原點在哪:網格中心附近。旋轉與縮放都對準它。
- 一次只動一個滑桿:先只轉、只移、只放,建立因果,再打開綜合預設。
國中相似形講放大縮小,高中才把旋轉矩陣寫出來。不必等到大學線性代數才碰這張圖:先承認順序會改變結果,再承認旋轉預設繞原點,已經能避開大半作業陷阱。需要繞三角形自己的中心轉時,數學上通常是「先移到原點、轉完、再移回去」;本工具沒有提供自訂旋轉中心,請不要以為滑桿角度是繞重心。
坪與公尺換算是固定係數,對完就能用。仿射變換的數字每次改順序就代表不同幾何故事,沒有「同一個 30 度永遠長一樣」這回事,除非平移與縮放也相同。二次函數圖改的是係數與截距;幾何變換改的是整張圖的位置與朝向。兩者都可以在畫布上即時看,但一個是 y 對 x 的對應,一個是點集合一起被搬動。
結語
讀幾何變換圖,先問這次縮放與旋轉是不是繞原點、平移是不是最後才做。虛線對原圖、實線對結果,矩陣最後一欄對位移。一次只改一個參數,順序爭議會少很多。工具幫你看見約定,作業若寫了另一種順序,以題目為準,不要硬把兩套步驟看成同一件事。