GoPiGo 小汽車︰格點圖像算術《投影幾何》【五‧線性代數】《導引七‧變換組合 VI‧VIII 》

150px-Greek_lc_lamda_thin.svg

λ 何謂也?

λ 表達式的『核心』理念是︰將『函數』應用於其『引數』;藉『抽象』形成『函數』。用著『簡潔』的『語法』,專注於『表徵』函數;視『函數』為計算的『規則』,深得『計算』之『內蘊』。其『語詞』表達『疏落』大方,概念『表現力』與『柔軔性』十足。故為『邏輯』、『數學』和『程式』理念之『聚寶盆』!!

辨明『異同』與分解『差別』是學習的功夫

真積力,久則入。

讓我們再次『觀止』λ 表達式的『定義』︰

變元集合 V = \{ v_1, v_2, v_3, \dots, v_n, \dots \}
抽象符號 『 λ  』與『 . 』,符號本身不是λ 表達項
結構括號 『 ( 』與『 ) 』,括號本身不是λ 表達項

λ 表達式的論域集合 \Lambda,由下面三條語法歸納定義︰

一、如果 x \in V ,那麼 x \in \Lambda

二、如果 x \in V 而且 M \in \Lambda ,那麼 ( \lambda x. M ) \in \Lambda

三、如果 M, N \in \Lambda ,那麼 ( M \  N) \in \Lambda

假 使觀察一個合乎語法的 λ 表達式 (\lambda f.  (\lambda x. (f x))),然後問著『 f 』變元是指『什麼』?這個表達式最內層的 (f x) 是函式的應用,明寫 f 是某個函式,然而如何計算卻隻字未提。如此看來,所謂的『變元』也可以是『函式』。那要怎麼『詮釋』那個『 λ表達式』呢?由於我們不知道 f, x 指的是什麼?也可以說它們『未被定義』,假使『給與定義』,我們或許可以講『在這個解釋下』,該個『 λ表達式』的『語意』是『□□□』。比方談著『用量角器量角度』一事,假使︰

f =_{df} 用量角器量角度
x =_{df} 東西的角度

,那麼 (\lambda f.  (\lambda x. (f x))) 是說︰拿某種『待指定』的量角器來量『尚未說』之物的角度。

要是講到『計算某種三角函數的數值』時,設想︰

f =_{df} 某種三角函數的計算
x =_{df} 角度

,那麼 (\lambda f.  (\lambda x. (f x))) 是說︰用某個『待指定』的三角函數來計算『未輸入』的角度。
……

面對『抽象』表達式,若是缺少直覺之『詮釋』導引,還真不曉得該看什麼、做什麼呢?舉例而言︰

設有 l, l^{'} 兩線,而且 z_1, z_2, z{z_1}^{'}, {z_2}^{'},z^{'} 是那兩線上共線和對應之三點。已知 {z_1}^{'} = \alpha z_1, \ {z_2}^{'} = \beta z_2, \ z^{'} = \gamma z ,那麼這兩線之間形成透視關係,同時滿足『分式線性變換』形式。

可得

z^{'} = \frac{\alpha \cdot \beta \cdot z \cdot (z_2-z_1) }{(\alpha - \beta) z + (\beta \cdot z_2 - \alpha \cdot z_1)}}

= \frac{\alpha \cdot \beta \cdot z \cdot (z_2-z_1) }{\alpha ( z -z_1) - \beta (z -z_2)} 也。

這個 z^{'} = f(z) ,簡單計算可知

f(z_1) = \alpha z_1 = {z_1}^{'}, \ f(z_2) = \beta z_2 = {z_2}^{'}

然而所謂的『透視』,意義不止如此,將要如何『觀』耶?假設 l 線上有一『代表點』 z_{\lambda} = (1-\lambda)z_1 + \lambda z_2 ,那麼

z_{\lambda} - z_1 = \lambda (z_2-z_1), \ z_{\lambda} - z_2 = (\lambda -1)(z_2-z_1)

\therefore z^{'} = \frac{\alpha \beta z_{\lambda}}{\alpha \lambda - \beta (\lambda - 1)} \ \ \ \ \ (1)

= \frac{\alpha \beta \left[ (1-\lambda) z_1 + \lambda z_2 \right]}{\alpha \lambda - \beta (\lambda - 1)} \ \ \ \ \ (2)

(1) 式除了可用來確定

\lambda = 0 : z_{\lambda = 0} = z_1, \ \lambda = 1 : z_{\lambda = 1} = z_2 外,重要的是

z^{'}_{\lambda} = {\gamma}_{\lambda} \cdot z_{\lambda} = \frac{\alpha \beta }{\alpha \lambda - \beta (\lambda - 1)} \cdot z_{\lambda} 之意義。

要是想求 l 線上的『無窮遠點』 z_{\lambda = \infty} 之『對應點』, (2) 式比較好使吧!此時

z^{'}_{\lambda = \infty} = \frac{\alpha \beta (z_2 - z_1)}{\alpha - \beta}

那它有什麼『奧秘』嗎??首先 z_2 - z_1 這向量與 l『平行』,既在 l^{'} 線上,一般不在 l 線上!此也可由『套套邏輯』

\frac{\alpha \beta (z_2 - z_1)}{\alpha - \beta} = \frac{\alpha}{\alpha - \beta}(\beta z_2) + \frac{-\beta}{\alpha - \beta}(\alpha z_1) = \frac{\alpha}{\alpha - \beta}({z_2}^{'}) + \frac{-\beta}{\alpha - \beta}({z_1}^{'})

= (1 - \frac{\alpha}{\alpha - \beta}) {z_1}^{'} + \frac{\alpha}{\alpha - \beta} {z_2}^{'} 確證也!!

那點難到不是『平行』於 l 之『視線』和 l^{'} 線之『交會點』乎?? !!如果

\alpha \lambda - \beta (\lambda - 1) = 0 \ \Rightarrow \lambda =  \frac{- \beta}{\alpha -\beta}

想必讀者可以推知其意義吧!!??

既然已將『對射』性質賦予『透視』,P, l, l' 投影點 U,V 間之對應關係可用

 \left( \begin{array}{cc} v \\ 1 \end{array} \right)  = \  \left( \begin{array}{cc}  \frac{u}{(1- \frac{1}{k}) u + \frac{1}{k}} \\ 1 \end{array} \right)  \   {\overset {P}{\doublebarwedge }}  \   \left( \begin{array}{cc} 1 & 0 \\ 1 - \frac{1}{k} & \frac{1}{k}  \end{array} \right) \left( \begin{array}{cc} u \\ 1 \end{array} \right)

 \left( \begin{array}{cc} u \\ 1 \end{array} \right) = \  \left( \begin{array}{cc}  \frac{v}{(1- k) v + k} \\ 1 \end{array} \right)  \   {\overset {P}{\doublebarwedge }}  \   \left( \begin{array}{cc} 1 & 0 \\ 1 - k & k  \end{array} \right) \left( \begin{array}{cc} v \\ 1 \end{array} \right)

『齊次座標』表達也。

從表達式可知我們仍舊取 A,B 為『定點』︰

A \  {\overset {P}{\doublebarwedge }}  \  \left( \begin{array}{cc} 0 \\ 1 \end{array} \right)B \  {\overset {P}{\doublebarwedge }}  \  \left( \begin{array}{cc} 1 \\ 1 \end{array} \right)

簡單計算可得︰

A^{'} \  {\overset {P}{\doublebarwedge }}  \  \left( \begin{array}{cc} 0 \\ 1 \end{array} \right)B{'} \  {\overset {P}{\doublebarwedge }}  \  \left( \begin{array}{cc} 1 \\ 1 \end{array} \right)

而且還是用『本地座標系』︰

\overline{AB} 是線 l 上的『單位長度』, u =_{df} \frac{\overline{CA}}{\overline{AB}} 。對應之

\overline{A^{'}B{'}} 是線 l^{'} 上的『單位長度』,v =_{df} \frac{\overline{C^{'}A^{'}}}{\overline{A^{'}B^{'}}}

k 為此一『透視』下之『常數』︰

\frac{1}{k} =_{df} \frac{\frac{\overline{CA}}{\overline{CB}}}{\frac{\overline{C^{'}A^{'}}}{\overline{C^{'}B{'}}} } = \frac{\frac{\overline{PA}}{\overline{PB}}}{\frac{\overline{PA^{'}}}{\overline{PB^{'}}}}

且先看看這個『矩陣形制』滿足『透視』之『對合』嗎?假設線 l^{'} 趨近於 l 將『重合』,那麼那個『矩陣形制』會是 I_2單位矩陣』乎??

當此時刻 k 必然趨近於 1 哩!焉能不是 \left( \begin{array}{cc} 1 & 0 \\ 0 & 1}  \end{array} \right) 耶!!

但思 k=1 之條件不必是『重合』矣,難到不能是『平行』 l \parallel l^{'} 嘛?!

古來『平行』費疑猜!?實因『眼見為憑』有此『遠近之事』吧★

P 點平行 \parallel l 之線,將交 l 於無窮遠 \infty 處,但交 l^{'}

\lim \limits_{u \to \pm \infty} \  \frac{u}{(1- \frac{1}{k}) u + \frac{1}{k}} =\frac{1}{1 - \frac{1}{k}} ,反之依然

P 點平行 \parallel l^{'} 之線,將交 l^{'} 於無窮遠 \infty 處,但交 l

\lim \limits_{v \to \pm \infty} \  \frac{v}{(1- k) v + k} =\frac{1}{1 - k}

招手『無限』 \infty 說何事?『平行』本性自帶來!

(1- k) v + k =0 \Rightarrow v = \frac{1}{1-\frac{1}{k}}

(1- \frac{1}{k}) u + \frac{1}{k} \Rightarrow u = \frac{1}{1-k}

終究根源自家栽

z \mapsto \frac{z}{z-1}

─── 摘自《GoPiGo 小汽車︰格點圖像算術《投影幾何》【五‧線性代數】《導引六‧中》