|
現(xiàn)有的大多數(shù)的方法是基于點光源設計自由光學曲面,當我們用實際光源文件進行仿真的時候,光學系統(tǒng)的性能便會偏離預期,一方面是由于自由光學曲面本身構建過程中存在的法線矢量偏差,另一方面是由于光源偏離理想而引入的偏差。為了改善光學系統(tǒng)的性能,需要采用優(yōu)化的方法,一種是自動優(yōu)化法,通常需要成百上千次迭代,另一種比較有效的方法是反饋修正法,通常只需要幾次迭代便可以在很大程度上改善光學系統(tǒng)的照明效果。 B!6?+<J" 3s"x{mtH 考慮給予能量映射網(wǎng)格的自由光學曲面設計方法,設計過程主要分為以下幾個部分:(1)基于能量守恒方程一一對應的劃分好光源和目標之間的等能映射網(wǎng)格,在這里可以先劃分光源發(fā)光空間網(wǎng)格(uv),再對應的劃分目標照明平面的網(wǎng)格(xy),即uv-xy劃分,也可以逆向劃分,即xy-uv劃分。(2)基于上述映射關系,我們就可以基于Snell定律數(shù)值求解自由曲面表面數(shù)據(jù)點。目前常用的是幾何迭代法還有解微分方程的方法。由于映射關系劃分的隨意性,通常由此獲得的曲面離散點的法線矢量場不滿足曲面連續(xù)性條件,這時候通常需要引入非連續(xù)曲面,如果強制將曲面變光滑就會引入曲面法線矢量誤差,從而影響系統(tǒng)的性能。當然,目前已經(jīng)有很多種方式來獲得一種可以滿足曲面連續(xù)性條件的映射關系,如橢球面拼接優(yōu)化法等,甚至可以直接求解monge-ampere方程。在這里,我們采用反饋修正法來補償這種誤差。(3)構建出來曲面數(shù)據(jù)點之后就可以在建模軟件中進行建模,通常采用NURBS曲面都離散點進行插值擬合,為了使得設計更加自動化,我們用計算軟件MATLAB調用建模軟件Rhinos直接進行建模并輸出igs模型,進而我們可以用MATLAB調用光線追跡軟件對模型進行仿真,并用MATLAB調用仿真產(chǎn)生的照度或光強分布結果等,并用來對預設的映射關系進行反饋修正。 iE>T5XV8$B A[^fG_l4 所有的過程中,MATLAB是核心,兼顧計算、建模、光線追跡以及反饋優(yōu)化。為增強代碼的擴展性,可以考慮將mapping的劃分、surface的構建、Simulation和后續(xù)的Feedback進行分塊。所有過程都是自動完成的,只需要設定一個截止條件即可。 y
|