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

三十六計‧南北朝‧宋‧檀道濟

六六三十六,數中有術,術中有數。

陰陽燮理,機在其空,機不可設,設則不中。

第卅六計 走為上策。

 

為何『六六大順』耶?並非是三十六宮都是春,若說那計策不成,能不『走為上策』保身全命乎!嘆世間詐偽難料兵勢詭譎︰

孫子兵法

兵勢

孫子曰:凡治眾如治寡,分數是也。鬥眾如鬥寡,形名是也。三軍之眾,可使必受敵而無敗者,奇正是也。兵之所加,如以碬投卵者 ,虛實是也。

凡 戰者,以正合,以奇勝。故善出奇者,無窮如天地,不竭如江河 ,終而復始,日月是也;死而復生,四時是也。聲不過五,五聲之變,不可勝聽也。色不過五,五色之變,不可勝觀也。味不過五,五味之變,不可勝嘗也。戰勢不 過奇正,奇正之變,不可勝窮也。奇正相生,如循環之無端,孰能窮之哉!

激水之疾,至于漂石者,勢也。鷙鳥之擊,至于毀折者,節也。是故善戰者,其勢險,其節短,勢如張弩,節如機發。

紛紛紜紜,鬥亂,而不可亂也。渾渾沌沌,形圓,而不可敗也。亂生于治,怯生于勇,弱生于強。治亂,數也。勇怯,勢也。強弱,形也。故善動敵者,形之,敵必從之;予之,敵必取之;以利動之 ,以實待之。

故善戰者,求之于勢,不責于人,故能擇人任勢;任勢者,其戰人也,如轉木石,木石之性,安則靜,危則動,方則止,圓則行。故善戰人之勢,如轉圓石于千仞之山者,勢也。

就幾何光學理論來說,透鏡、材質、虛空之矩陣的組合亦無窮矣!

─── 摘自《光的世界︰【□○閱讀】說組合《上》

 

退一步自海闊天空,忍一時留得青山在??!!

若可不慍不火,方容易體會數理科學矣!!??

故不急得借

設有 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)} 也。

強講『莫比烏斯變換』 □ ○ 分解︰

pi@raspberrypi:~ ipython3 Python 3.4.2 (default, Oct 19 2014, 13:31:11)  Type "copyright", "credits" or "license" for more information.  IPython 2.3.0 -- An enhanced Interactive Python. ?         -> Introduction and overview of IPython's features. %quickref -> Quick reference. help      -> Python's own help system. object?   -> Details about 'object', use 'object??' for extra details.  In [1]: from sympy import *  In [2]: init_printing()  In [3]: α , β , z1, z2, z = symbols('α , β , z1, z2, z')  In [4]: 分母平移 = Matrix([[1,(β * z2 - α * z1)/(α - β)],[0,1]])  In [5]: 分母平移 Out[5]:  ⎡   -z₁⋅α + z₂⋅β⎤ ⎢1  ────────────⎥ ⎢      α - β    ⎥ ⎢               ⎥ ⎣0       1      ⎦  In [6]: 反演 = Matrix([[0,1],[1,0]])  In [7]: 反演 Out[7]:  ⎡0  1⎤ ⎢    ⎥ ⎣1  0⎦  In [8]: 旋轉縮放 = Matrix([[-(α*β*(z2-z1)*(β*z2-α*z1))/((α-β)**2),0],[0,1]])  In [9]: 旋轉縮放 Out[9]:  ⎡-α⋅β⋅(-z₁ + z₂)⋅(-z₁⋅α + z₂⋅β)    ⎤ ⎢───────────────────────────────  0⎥ ⎢                   2              ⎥ ⎢            (α - β)               ⎥ ⎢                                  ⎥ ⎣               0                 1⎦  In [10]: 分子平移 = Matrix([[1,(α*β*(z2-z1))/(α-β)],[0,1]])  In [11]: 分子平移 Out[11]:  ⎡   α⋅β⋅(-z₁ + z₂)⎤ ⎢1  ──────────────⎥ ⎢       α - β     ⎥ ⎢                 ⎥ ⎣0        1       ⎦  In [12]: 透視 = 分子平移*旋轉縮放*反演*分母平移  In [13]: 透視 Out[13]:  ⎡α⋅β⋅(-z₁ + z₂)              ⎤ ⎢──────────────       0      ⎥ ⎢    α - β                   ⎥ ⎢                            ⎥ ⎢                -z₁⋅α + z₂⋅β⎥ ⎢      1         ────────────⎥ ⎣                   α - β    ⎦  In [14]: Z1 = Matrix([z1,1])  In [15]: Z1 Out[15]:  ⎡z₁⎤ ⎢  ⎥ ⎣1 ⎦  In [16]: 透視*Z1 Out[16]:  ⎡z₁⋅α⋅β⋅(-z₁ + z₂)⎤ ⎢─────────────────⎥ ⎢      α - β      ⎥ ⎢                 ⎥ ⎢     -z₁⋅α + z₂⋅β⎥ ⎢z₁ + ────────────⎥ ⎣        α - β    ⎦  In [17]: ((透視*Z1)[0] / (透視*Z1)[1]).simplify() Out[17]: z₁⋅α  In [18]: Z2 = Matrix([z2,1])  In [19]: ((透視*Z2)[0] / (透視*Z2)[1]).simplify() Out[19]: z₂⋅β </pre>    <span style="color: #666699;">先知 □ ○ 其意義較好的吧◎</span>  <span style="color: #666699;">就l一線而言,如果z_1, \ z_2, \ z= (1-\lambda) z_1 + \lambda z_2三點共線,那麼</span>  <span style="color: #666699;">【平移】</span>  <span style="color: #666699;">z_1 \Rightarrow z_1+z_t , \ z_2 \Rightarrow z_2+z_t, \ z \Rightarrow z+z_t</span>  <span style="color: #666699;">(1-\lambda) (z_1+z_t) + \lambda (z_2+z_t) = \left[ (1-\lambda) z_1 + \lambda z_2 \right] + z_t = z+ z_t</span>  <span style="color: #666699;">【旋轉】</span>  <span style="color: #666699;">z_1 \Rightarrow e^{i \phi} z_1 , \ z_2 \Rightarrow e^{i \phi} z_2, \ z \Rightarrow e^{i \phi}z</span>  <span style="color: #666699;">(1-\lambda) e^{i \phi} z_1 + \lambda e^{i \phi} z_2 = e^{i \phi} \left[(1-\lambda) (z_1) + \lambda (z_2) \right] = e^{i \phi} z</span>  <span style="color: #666699;">【共軛鏡像】</span>  <span style="color: #666699;">z_1 \Rightarrow {z_1}^{*} , \ z_2 \Rightarrow {z_2}^{*}, \ z \Rightarrow z^{*}</span>  <span style="color: #666699;">(1-\lambda) {z_1}^{*} + \lambda {z_2}^{*} = {\left[(1-\lambda) (z_1) + \lambda (z_2) \right]}^{*} = z^{*}</span>  <span style="color: #666699;">變換後依舊三點共線也◎</span>  <span style="color: #666699;">然而</span>  <span style="color: #666699;">{z_1}^{'} = \alpha z_1, \ {z_2}^{'} = \beta z_2, \ z^{'} = \gamma z</span>  <span style="color: #666699;">在平移變換下『不共視線』矣。故可知透視</span>  <span style="color: #666699;">z^{'} = \frac{\alpha \cdot \beta \cdot z \cdot (z_2-z_1) }{(\alpha - \beta) z + (\beta \cdot z_2 - \alpha \cdot z_1)}}$

僅『旋轉』、『共軛鏡像』變換不變矣◎

此處暫放下

反演

反演是種幾何變換。給定點O、常數k,點P的變換對應點就是在以O開始的射線OP上的一點P'使得|OP||OP' | = k2

反演的結果:

  • O直線:直線
  • O:不過O的直線
  • 不過O的圓:圓
  • O的球:不過O的平面

對於點 x=(x_1,x_2,...,x_n),以原點為中心,在直角坐標系的反演變換可寫成

  x_i\rightarrow \frac{k^2 x_i}{\sum_j x_j^2}

以下都可視為反演:

  • 立體投影法:可以取球面上任意一點為中心,球的直徑為k。
  • 共軸圓:在平面取一系列共心圓,取一系列經過共心圓圓心的線,任意取一點為中心進行反演。

一點的反演

 

容後再議哉☆