光的世界︰方便行

既然身處將入人工智慧、工業 4.0 的世界,為何不以電腦輔助學習 、軟體強化理解、程式探索未知耶?佛法古來行方便︰

維摩詰所說經卷上

姚秦三藏鳩摩羅什譯

方便品第二

爾 時毘耶離大城中有長者名維摩詰。已曾供養無量諸佛深植善本。得無生忍。辯才無礙。遊戲神通逮諸總持。獲無所畏降魔勞怨。入深法門善於智度。通 達方便大願成就。明了眾生心之所趣。又能分別諸根利鈍。久於佛道心已純淑決定大乘。諸有所作能善思量。住佛威儀心大如海。諸佛咨嗟弟子。釋梵世主所敬。欲 度人故以善方便居毘耶離。資財無量攝諸貧民。奉戒清淨攝諸毀禁。以忍調行攝諸恚怒。以大精進攝諸懈怠。一心禪寂攝諸亂意。以決定慧攝諸無智。雖為白衣奉持 沙門清淨律行。雖處居家不著三界。示有妻子常修梵行。現有眷屬常樂遠離。雖服寶飾而以相好嚴身。雖復飲食而以禪悅為味。若至博弈戲處輒以度人。受諸異道不 毀正信。雖明世典常樂佛法。一切見敬為供養中最。執持正法攝諸長幼。一切治生諧偶雖獲俗利不以喜悅。遊諸四衢饒益眾生。入治政法救護一切。入講論處導以大 乘。入諸學堂誘開童蒙。入諸婬舍示欲之過。入諸酒肆能立其志。若在長者長者中尊為說勝法。若在居士居士中尊斷其貪著。若在剎利剎利中尊教以忍辱。若在婆羅 門婆羅門中尊除其我慢。若在大臣大臣中尊教以正法。若在王子王子中尊示以忠孝。若在內官內官中尊化政宮女。若在庶民庶民中尊令興福力。若在梵天梵天中尊誨 以勝慧。若在帝釋帝釋中尊示現無常。若在護世護世中尊護諸眾生。長者維摩詰。以如是等無量方便饒益眾生。其以方便現身有疾。以其疾故。國王大臣長者居士婆 羅門等。及諸王子并餘官屬。無數千人皆往問疾。其往者。維摩詰因以身疾廣為說法。諸仁者。是身無常無強無力無堅。速朽之法不可信也。為苦為惱眾病所集。諸 仁者。如此身明智者所不怙。是身如聚沫不可撮摩。是身如泡不得久立。是身如炎從渴愛生。是身如芭蕉中無有堅。是身如幻從顛倒起。是身如夢為虛妄見。是身如 影從業緣現。是身如響屬諸因緣。是身如浮雲須臾變滅。是身如電念念不住。是身無主為如地。是身無我為如火。是身無壽為如風。是身無人為如水。是身不實四大 為家。是身為空離我我所。是身無知如草木瓦礫。是身無作風力所轉。是身不淨穢惡充滿。是身為虛偽。雖假以澡浴衣食必歸磨滅。是身為災百一病惱。是身如丘井 為老所逼。是身無定為要當死。是身如毒蛇如怨賊如空聚。陰界諸入所共合成。諸仁者。此可患厭當樂佛身。所以者何。佛身者即法身也。從無量功德智慧生。從戒 定慧解脫解脫知見生。從慈悲喜捨生。從布施持戒忍辱柔和勤行精進禪定解脫三昧多聞智慧諸波羅蜜生。從方便生。從六通生。從三明生。從三十七道品生。從止觀 生。從十力四無所畏十八不共法生。從斷一切不善法集一切善法生。從真實生。從不放逸生。從如是無量清淨法生如來身。諸仁者。欲得佛身斷一切眾生病者。當發 阿耨多羅三藐三菩提心。如是長者維摩詰。為諸問疾者如應說法。令無數千人皆發阿耨多羅三藐三菩提心。

 

。如是我聞,因此整裝蓄勢願見鯤鵬之變也。雖說萬事起頭難!!自由軟件早有無量光,豈不方便行??就從軟件安裝開始︰

# 派生程式庫
sudo apt-get install python-numpy python3-numpy
sudo apt-get install python-scipy python3-scipy
sudo apt-get install python-skimage python3-skimage
sudo pip install sympy
sudo pip3 install sympy

 

憑借 Sympy

About

SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python.

───

 

強大符號運算能力,再次學習『費馬原理』

Wiki_slope_in_2d.svg

Tangent_function_animation

在說費馬原理之前,讓我們先談談一個函數 f(x) 如何求『極值』── 極大值、極小值或拐點 ── 的問題。假使我們把函數看成是『山巒起伏』,那麼從經驗上講『山頂』就是它比『週邊都高』的地方;而『山谷』就是它比『週邊都低』的位置,一般都會比較『平坦』。因此觀察一個函數之各個點的『斜率』就可以知道它的『起伏變化』,那一些『斜率為零』的『』,就可能是該函數那個『點附近區域』裡的『最大值』或者『最小值』,當然也可能是『凹凸改變處』,這時叫做『拐點』或者『反曲點』,它並不是那個區域裡的『極大極小值』。在數學裡一個函數『求斜率』的方法就是將該函數『微分\frac{df}{dx}

就像有人說的︰『費馬原理』也許不應該稱作『最短時間原理』,而是應該叫做『平穩時間原理』。因為事實上光線並非都是選擇這一條『時間最短』的路徑。比方說右圖的『半圓形鏡面』,光走得路徑 \overrightarrow{QO} \cdot \overrightarrow{OP} 是反射路徑中的『最大值』。而在 『\frac{1}{4}圓平面切合鏡面』圖中,光走得路徑 \overrightarrow{QO} \cdot \overrightarrow{OP} 卻是那一個所有『可能路徑』函數中的『拐點』。而這個『平穩』是說著所有可能路徑 \overrightarrow{QX} \cdot \overrightarrow{XP} 的『光徑函數』是『可微分的』這一件事。那麼這個『費馬原理』有什麼重要性嗎?它是『幾何光學』的基本原理,可以用來『推導』各類由『鏡面』與『透鏡』組合而成的『光學系統』的『成像原理』。『理解』種種『光學設備』── 望遠鏡、顯微鏡、放大鏡、近視眼鏡… ── 的『設計原理』。

125px-Reflection_for_Semicircular_Mirror_upright.svg
半圓形鏡面

125px-Reflection_for_Mixed_Shaped_Mirror.svg
\frac{1}{4}圓平面切合鏡面

也就是說『費馬原理』可以讓你『改造』樹莓派『攝像模組』的『眼睛』,讓它能夠『看的更遠』或者『顯現微物』,如此各類『攝影』將會更『得手應心』的了!!

光的『反射定律』推導

200px-Reflection_of_light

假設光線從 P 點出發經過 x 點,被反射到 Q 點。那麼這個『光徑函數D  \overline{Px} + \overline{xQ}

D=\sqrt{x^2 + a^2}+ \sqrt{b^2 + (l - x)^2}

根據費馬原理,光線會選擇光徑函數為極值的路徑。因此 \frac{dD}{dx} = 0,所以得到

\frac{dD}{dx} = \frac{ x}{\sqrt{x^2+a^2}}+\frac{-l+x}{\sqrt{b^2 + (l - x)^2}}=0

然而
\frac{ x}{\sqrt{x^2+a^2}}=\sin\theta_1
\frac{l-x}{\sqrt{b^2 + (l - x)^2}}=\sin\theta_2

故得 \sin\theta_1 = \sin\theta_2\theta_1 =\theta_2

這就是光的『反射定律』。

光的『折射定律』推導

250px-Snellslaw_diagram_B

假設光線從左方『折射率』為 n_1 的介質一的 Q 點,經過 O 點到達『折射率』為 n_2 的介質二之 P 點。由『光速』的『費馬假設』我們可以得到這兩個介質中的光速為

v_1 = \frac {c}{n_1}
v_2 = \frac {c}{n_2}

,式中 c 是『真空光速』。那麼這條光線沿著 POQ 走,所需要的時間『光時函數T  \overline{PO} + \overline{OQ}

T=\frac{\sqrt{x^2 + a^2}}{v_1} + \frac{\sqrt{b^2 + (l - x)^2}}{v_2}

根據費馬原理,光線會選擇所需時間為最短的路徑,於是 \frac {dT}{dx} = 0,所以得到

\frac{dT}{dx}=\frac{x}{v_1\sqrt{x^2 + a^2}} + \frac{ - (l - x)}{v_2\sqrt{(l-x)^2 + b^2}}=0

然而
\frac{x}{\sqrt{x^2 + a^2}} =\sin\theta_1

\frac{ - (l - x)}{\sqrt{(l-x)^2 + b^2}}=\sin\theta_2

故得 n_1\sin\theta_1=n_2\sin\theta_2

這就是司乃耳『折射定律』。

─── 摘自《【Sonic π】聲波之傳播原理︰原理篇《一》

 

深入認識

幾何光學

幾何光學,乃利用幾何學研究光學的學術方法。幾何光學有幾個基本原理[1]

  • 在均勻介質中,光線直線傳播
  • 光的反射定律
  • 光的折射定律
  • 光程可逆性原理

由於光本身就是從原子、分子內發出的高頻電磁場,因此上述原理都可以通過電動力學中的電磁場理論導出。

Virtualimageframerate1

Rays from an object at finite distance are associated with a virtual image that is closer to the lens than the focal length, and on the same side of the lens as the object.

───

 

之底蘊。充分掌握使用樹莓派作

Ray transfer matrix analysis

Ray transfer matrix analysis (also known as ABCD matrix analysis) is a type of ray tracing technique used in the design of some optical systems, particularly lasers. It involves the construction of a ray transfer matrix which describes the optical system; tracing of a light path through the system can then be performed by multiplying this matrix with a vector representing the light ray. The same analysis is also used in accelerator physics to track particles through the magnet installations of a particle accelerator, see Beam optics.

The technique that is described below uses the paraxial approximation of ray optics, which means that all rays are assumed to be at a small angle (θ in radians) and a small distance (x) relative to the optical axis of the system.[1]
───

Sympy Physics Module Gaussian Optics

Gaussian optics.

The module implements:

  • Ray transfer matrices for geometrical and gaussian optics.

    See RayTransferMatrix, GeometricRay and BeamParameter

  • Conjugation relations for geometrical and gaussian optics.

    See geometric_conj*, gauss_conj and conjugate_gauss_beams

The conventions for the distances are as follows:

focal distance
positive for convergent lenses
object distance
positive for real objects
image distance
positive for real images

───

 

的計算。