答王jiun──關於平面上的鏡射問題

網友王jiun留言:

Dear 周老師,偶發機會,連上老師的網站,看到了好多矩陣的問題。原本是想查看看 Cayley-Hamilton 定理,因為高中數學解決矩陣高次方問題時,利用 Cayley-Hamilton 定理創造出一個特徵方程式,再除以此特徵方程式,將高次方變成處理餘式即可。這方法真妙……於是上網搜尋關鍵字,因緣際會連上老師的網站,真是福氣,學習好多好多東西 (原因還是很多看不懂)。

近期高中(四)3-4上課到鏡射矩陣,學習到一些好方法。因此利用直線的斜率創造出旋轉矩陣解決了對稱點的問題,但是偏偏課本舉例的對稱直線都是通過原點的。但是我發現若對稱直線沒有通過原點,那到底要怎麼解決呢?我原本想是不是先做點的平移,使直線通過原點,不過越想越頭痛,陷入思考盲點。以下是我從網路去找練習題目練習,都有給解答,但都沒有解釋。我怎麼都想不透?特請老師可否解救我,感恩。

問題一:設點 \text{P}(x,y) 對於直線 \text{L}:x-y+2=0 的鏡射點為 \text{P}'(x',y'),請找出 (x,y)(x',y') 的關係 (見圖一)。

解答:\begin{bmatrix} \frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\[0.5em] \frac{1}{\sqrt{2}}&\frac{-1}{\sqrt{2}} \end{bmatrix}\begin{bmatrix} x+1\\ y-1 \end{bmatrix}=\begin{bmatrix} x'+1\\ y'-1 \end{bmatrix}

2D Reflection 1

圖一:對於一不穿越原點的直線的鏡射(點圖放大)

問題二:如圖二,設直線 \text{L}_1\text{L}_2 的夾角為 \theta,點 \text{P}(x,y) 對於 \text{L}_1 的鏡射點為 \text{P}_1,點 \text{P}_1 對於 \text{L}_2 的鏡射點為 \text{P}_2(x',y'),找出 \text{P}(x,y)\text{P}_2(x',y') 的關係。(兩次鏡射等於一次旋轉)

解答:\left[\!\!\begin{array}{cr} \cos 2\theta&-\sin 2\theta\\ \sin 2\theta&\cos 2\theta \end{array}\!\!\right]\begin{bmatrix} x\\ y \end{bmatrix}=\begin{bmatrix} x'\\ y' \end{bmatrix}

2D Reflection 2

圖二:對於兩相異直線的連續鏡射(點圖放大)

問題三:設點 \text{P}(x,y) 對於直線 \text{L}:ax+by+c=0 (其中 a^2+b^2\neq 0) 的鏡射點為 \text{P}'(x',y'),請找出 (x,y)(x',y') 的關係。

解答:\begin{bmatrix} \frac{b^2-a^2}{a^2+b^2}&\frac{2ab}{a^2+b^2}\\[0.5em] \frac{2ab}{a^2+b^2}&\frac{a^2-b^2}{a^2+b^2} \end{bmatrix}\begin{bmatrix} x+\frac{ac}{a^2+b^2}\\[0.5em] y+\frac{bc}{a^2+b^2} \end{bmatrix}=\begin{bmatrix} x'+\frac{ac}{a^2+b^2}\\[0.5em] y'+\frac{bc}{a^2+b^2} \end{bmatrix}

第一題:那一直線斜率明明是 1,怎麼對稱矩陣跑出 \sqrt{2}?第二題:出現了一句話:兩次鏡射等於一次旋轉,為何?我一直證明不出來,可否請教?第三題更猛,他直接導出一個通解,我一直湊不出他的解答怎來的。老師,很不好意思,是否可以教我?(這個部份在高中是目前放在第四冊,但因鏡射矩陣高中學測不考,老師只是叫我們自己看,不做教學,等學測完,指考才有可能會考。所以,自己摸索自己看,這部份鏡射軸一平移後不通過原點,我卻卡住了。)

煩請老師賜教,謝謝。

迷思的高二學生 上

 
答曰:

如果你解決不了手邊的問題,這時候你應該回想更基本的問題,譬如,從鏡射軸如何推演出鏡射矩陣?對於平面上穿越原點的鏡射軸,我先介紹兩個常用的鏡射矩陣基本公式,分別對應下列問題。

  • 問題A:設直線 \text{L} 穿越原點,\text{L} 與正 x 軸的逆時針夾角為 \phi (以下夾角皆假設為逆時針旋轉角),求鏡射矩陣 H
  • 問題B:設直線 \text{L} 穿越原點,單位法向量為 \overrightarrow{n} (即 \overrightarrow{n} 的長度等於 1),求鏡射矩陣 H

問題A提示我們或許可以採用三角幾何來推理,問題B則需要引進向量運算。底下我盡可能沿用高中數學符號,並且只使用基礎工具 (包含平面幾何知識、三角學和向量內積) 來解答。

 
先考慮問題A,圖三顯示點 \text{P}(x,y) 對於鏡射軸 \text{L} 的鏡射點為 \text{P}'(x',y')。令 \overline{\text{OP}}=r 且向量 \overrightarrow{\text{OP}} 與正 x 軸的夾角為 \alpha。三角幾何給出點 \text{P} 的座標為 (x,y)=(r\cos\alpha,r\sin\alpha),鏡射點 \text{P}' 的座標為 (x',y')=(r\cos(2\phi-\alpha),r\sin(2\phi-\alpha))。使用和角公式,可得

\displaystyle\begin{aligned} x'&=r\cos(2\phi-\alpha)=r(\cos 2\phi\cos\alpha+\sin 2\phi\sin\alpha)=x\cos 2\phi+y\sin 2\phi\\ y'&=r\sin(2\phi-\alpha)=r(\sin 2\phi\cos\alpha-\cos 2\phi\sin\alpha)=x\sin 2\phi-y\cos 2\phi. \end{aligned}

將線性方程組改寫成矩陣形式

\displaystyle \begin{bmatrix} x'\\ y' \end{bmatrix}=\left[\!\!\begin{array}{cr} \cos 2\phi&\sin 2\phi\\ \sin 2\phi&-\cos 2\phi \end{array}\!\!\right]\begin{bmatrix} x\\ y \end{bmatrix}

於是導出鏡射矩陣 (以下稱為公式A)

\displaystyle H=\left[\!\!\begin{array}{cr} \cos 2\phi&\sin 2\phi\\ \sin 2\phi&-\cos 2\phi \end{array}\!\!\right]

2D Reflection 3

圖三:鏡射軸與正x軸的夾角(點圖放大)

 
考慮問題B,圖四顯示點 \text{Q} 是鏡射軸 \text{L} 上與點 \text{P} 距離最短的點。根據正交原則,\text{Q} 為點 \text{P} 至直線 \text{L} 的垂足,故 \overrightarrow{\text{PQ}} 垂直於 \overrightarrow{\text{OQ}},即 \overrightarrow{\text{PQ}} 平行於直線 \text{L} 的單位法向量 \overrightarrow{n}。高中數學稱 \overrightarrow{\text{QP}}\overrightarrow{\text{OP}}\overrightarrow{n} 方向上的正射影。利用向量內積 (見“內積的定義”),可得

\displaystyle \overrightarrow{\text{PQ}}=-(\overrightarrow{n}\cdot\overrightarrow{\text{OP}})\overrightarrow{n}=-\overrightarrow{n}(\overrightarrow{n}\cdot\overrightarrow{\text{OP}})

其中純量和向量乘法可交換。

2D Reflection 4

圖四:鏡射軸與單位法向量(點圖放大)

 
接著我們將向量以端點的座標表示,寫出 \overrightarrow{\text{OP}}=\begin{bmatrix} x\\ y \end{bmatrix} 並令 \overrightarrow{n}=\begin{bmatrix} n_x\\ n_y \end{bmatrix}。向量內積可表示為矩陣運算,如下:

\displaystyle \overrightarrow{n}\cdot\overrightarrow{\text{OP}}=n_xx+n_yy=\begin{bmatrix} n_x&n_y \end{bmatrix}\begin{bmatrix} x\\ y \end{bmatrix}=\overrightarrow{n}^T\overrightarrow{\text{OP}}

其中 \overrightarrow{n}^T 表示座標向量 \overrightarrow{n} 的轉置。合併以上結果,鏡射點 \text{P}' 的座標向量為

\displaystyle\begin{aligned} \begin{bmatrix} x'\\ y' \end{bmatrix}&=\overrightarrow{\text{OP}'}=\overrightarrow{\text{OP}}-2\overrightarrow{\text{PQ}}\\ &=\overrightarrow{\text{OP}}-2\overrightarrow{n}\left(\overrightarrow{n}^T\overrightarrow{\text{OP}}\right)\\ &=\left(I-2\overrightarrow{n}\overrightarrow{n}^T\right)\overrightarrow{\text{OP}}\\ &=\left(I-2\overrightarrow{n}\overrightarrow{n}^T\right)\begin{bmatrix} x\\ y \end{bmatrix},\end{aligned}

其中 I2\times 2 階單位矩陣,\overrightarrow{n}\overrightarrow{n}^T 是一個 2\times 2 階矩陣,稱為外積 (outer product),此外積和向量積 (cross product) \overrightarrow{n}\times\overrightarrow{n} 不同,定義如下:

\displaystyle \overrightarrow{n}\otimes\overrightarrow{n}=\overrightarrow{n}\overrightarrow{n}^T=\begin{bmatrix} n_x\\ n_y \end{bmatrix}\begin{bmatrix} n_x&n_y \end{bmatrix}=\begin{bmatrix} n_x^2&n_xn_y\\ n_xn_y&n_y^2 \end{bmatrix}

我們得到以鏡射軸的單位法向量 \overrightarrow{n} 表示的鏡射矩陣 (以下稱為公式B)

\displaystyle\begin{aligned} H&=I-2\overrightarrow{n}\otimes\overrightarrow{n}\\ &=\begin{bmatrix} 1&0\\ 0&1 \end{bmatrix}-2\begin{bmatrix} n_x^2&n_xn_y\\ n_xn_y&n_y^2 \end{bmatrix}\\ &=\begin{bmatrix} 1-2n_x^2&-2n_xn_y\\ -2n_xn_y&1-2n_y^2 \end{bmatrix}. \end{aligned}

若鏡射軸 \text{L} 與正 x 軸的夾角為 \phi,則 \text{L} 的單位法向量為 \overrightarrow{n}=\left[\!\!\begin{array}{r} -\sin\phi\\ \cos\phi \end{array}\!\!\right]。代入公式B並使用和角公式,即可導出公式A:

\displaystyle H=\begin{bmatrix} 1-2\sin^2\phi&2\sin\phi\cos\phi\\ 2\sin\phi\cos\phi&1-2\cos^2\phi \end{bmatrix}=\left[\!\!\begin{array}{cr} \cos 2\phi&\sin 2\phi\\ \sin 2\phi&-\cos 2\phi \end{array}\!\!\right]

附帶一提,在高維空間中,以公式B表達的鏡射矩陣依然成立,詳見“特殊矩陣 (4):Householder 矩陣”。

 
若鏡射軸 \text{L} 未穿越原點,通過平移鏡射軸使之穿越原點 (點 \text{P} 與鏡射點 \text{P}' 也跟著平移),如此便可套用前述鏡射矩陣公式。下面回答你提出的問題三。見圖一,設點 \text{D}(d_x,d_y) 為原點 \text{O} 至直線 \text{L}:ax+by+c=0 (a^2+b^2\neq 0) 的垂足,穿越原點 \text{O}\text{D} 的直線為 \tilde{\text {L}}:bx-ay=0。垂足 \text{D} 為直線 \text{L}\tilde{\text{L}} 的交點,可解得

\displaystyle d_x=\frac{-ac}{a^2+b^2},~~d_y=\frac{-bc}{a^2+b^2}

將垂足 \text{D} 平移至原點 \text{O},對應的平移向量為 (-dx,-dy),則直線 \text{L} 平移至穿越原點且斜率不變的直線 \text{L}':ax+by=0,點 \text{P}(x,y) 和鏡射點 \text{P}'(x',y') 分別平移至點 \text{Q}(x-d_x,y-d_y)\text{Q}'=(x'-d_x,y'-d_y)。直線 \text{L}' 的單位法向量為 \overrightarrow{n}=\begin{bmatrix} \frac{a}{\sqrt{a^2+b^2}}\\ \frac{b}{\sqrt{a^2+b^2}} \end{bmatrix},代入鏡射矩陣公式B,可得 (不要相信我說的話,請自行推演)

\displaystyle \begin{bmatrix} x'+\frac{ac}{a^2+b^2}\\[0.5em] y'+\frac{bc}{a^2+b^2} \end{bmatrix}=\begin{bmatrix} \frac{b^2-a^2}{a^2+b^2}&-\frac{2ab}{a^2+b^2}\\[0.5em] -\frac{2ab}{a^2+b^2}&\frac{a^2-b^2}{a^2+b^2} \end{bmatrix}\begin{bmatrix} x+\frac{ac}{a^2+b^2}\\[0.5em] y+\frac{bc}{a^2+b^2} \end{bmatrix}

比較上式與你提供的解答,發現解答的鏡射矩陣的非主對角元少了負號。如欲採用鏡射矩陣公式A,直線 \text{L}':ax+by=0 與正 x 軸的夾角 \phi 滿足 \tan\phi=-\frac{a}{b} (此即直線的斜率),使用三角公式

\displaystyle \sin 2\phi=\frac{2\tan\phi}{1+\tan^2\phi},~~\cos 2\phi=\frac{1-\tan^2\phi}{1+\tan^2\phi}

亦可推得相同的鏡射矩陣。套用上面的通式,問題一直線 \text{L}:x-y+2=0 的鏡射變換如下:

\displaystyle \begin{bmatrix} x'+1\\ y'-1 \end{bmatrix}=\begin{bmatrix} 0&1\\ 1&0 \end{bmatrix}\begin{bmatrix} x+1\\ y-1 \end{bmatrix}

你的懷疑是對的,鏡射矩陣不應該出現 \sqrt{2},原題的解答有誤。

 
最後回答問題二 (參見圖二)。設直線 \text{L}_1 穿越原點與正 x 軸的夾角為 \phi,直線 \text{L}_2 穿越原點與正 x 軸的夾角為 \psi,且 \text{L}_1\text{L}_2 的夾角為 \theta,即 \theta=\psi-\phi。使用鏡射矩陣公式A,連續兩次鏡射將點 \text{P}(x,y) 映至點 \text{P}_2(x',y') 的算式為

\displaystyle\begin{aligned} \begin{bmatrix} x'\\ y' \end{bmatrix}&=\left[\!\!\begin{array}{cr} \cos 2\psi&\sin 2\psi\\ \sin 2\psi&-\cos 2\psi \end{array}\!\!\right]\left[\!\!\begin{array}{cr} \cos 2\phi&\sin 2\phi\\ \sin 2\phi&-\cos 2\phi \end{array}\!\!\right]\begin{bmatrix} x\\ y \end{bmatrix}\\ &=\begin{bmatrix} \cos 2\psi\cos 2\phi+\sin 2\psi\sin 2\phi&\cos 2\psi\sin 2\phi-\sin 2\psi\cos 2\phi\\ \sin 2\psi\cos 2\phi-\cos 2\psi\sin 2\phi&\sin 2\psi\sin 2\phi+\cos 2\psi \cos 2\phi \end{bmatrix}\begin{bmatrix} x\\ y \end{bmatrix}\\ &=\left[\!\!\begin{array}{cr} \cos 2(\psi-\phi)&-\sin 2(\psi-\phi)\\ \sin 2(\psi-\phi)&\cos 2(\psi-\phi) \end{array}\!\!\right]\begin{bmatrix} x\\ y \end{bmatrix}\\ &=\left[\!\!\begin{array}{cr} \cos 2\theta&-\sin 2\theta\\ \sin 2\theta &\cos 2\theta \end{array}\!\!\right]\begin{bmatrix} x\\ y \end{bmatrix}, \end{aligned}

故證明兩次鏡射等同於一次旋轉。

 
兩年以後,倘若你學習了線性代數,那時便可使用線性變換方法 (見“幾何變換矩陣的設計”) 或特徵分析技巧 (見“答Rich──關於特徵值與特徵向量的物理意義”) 來推導鏡射矩陣,並證明兩次鏡射即為一次旋轉 (見“Householder 矩陣乘積的特徵值”)。

相關閱讀:
This entry was posted in 答讀者問, 線性變換 and tagged , . Bookmark the permalink.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s