
發布
注冊
/
登錄光線追跡的案例
什么是光線追跡?
光線追跡(Ray Tracing)是一種計算方法,用于表示光線與物體相互作用時的行為方式。在光的波長遠小于與之相互作用的物體時,光線追跡可用于仿真光的行為。
光線追跡不僅可追蹤這些光線穿過不同光學及光子系統的路徑,而且還可仿真光線在與不同結構進行物理交互時的折射、反射或散射方式。光線可以通過許多類型的光學系統并與之相互作用,其中許多常見物體,如反射鏡、透鏡或棱鏡,所有這些相互作用都可以仿真。
然而,需要做出重要的區分。光線追跡涉及兩個方面的光的行為。其中,最常見的光線追跡應用領域,是電子游戲。光線追跡有助于游戲開發人員通過測定物體反射光線的方式,在游戲中提供逼真的視覺效果,從而實現著色器和全局照明(為3D場景添加逼真照明的算法)的實時開發。此外,其還可幫助開發人員提供表面紋理的渲染圖像。
視頻游戲是實時光線追跡技術,速度是關鍵,游戲引擎提供高級視覺效果以及高畫質圖像,盡管增加的算力會降低游戲的幀速率。游戲中的光線追跡以計算機圖形和渲染技術(光柵化等)為核心。
另一方面,在光學和光子學領域,光線追跡是光源與物理物體相互作用的方式,因此其考慮系統的材料屬性以及發生的物理相互作用。在光學和光子學領域,光線追跡的核心是準確定和光的行為核心,而不是作為視覺寫實的工具。本文重點介紹的是光線追跡在光學和光子組件設計中的應用。
光線追跡的工作原理?
光線追跡是一種計算方法,用于在光線穿過光學系統時對其進行建模。可將其用于設計透鏡、傳感器和其它光學組件,以便基于不同入射角的光與結構相互作用的方式來預測組件性能。光線在空氣中傳播并遇到另一種具有不同折射率(決定光在密度不同的兩種介質界面上彎曲程度的屬性)的材料時,會通過新介質折射,而有一部分則會反射。
展開 一期一會 | 光線追跡在光學和光子組件設計中的應用
光線追跡(Ray Tracing)是一種計算方法,用于表示光線與物體相互作用時的行為方式。在光的波長遠小于與之相互作用的物體時,光線追跡可用于仿真光的行為。
光線追跡不僅可追蹤這些光線穿過不同光學及光子系統的路徑,而且還可仿真光線在與不同結構進行物理交互時的折射、反射或散射方式。光線可以通過許多類型的光學系統并與之相互作用,其中許多常見物體,如反射鏡、透鏡或棱鏡,所有這些相互作用都可以仿真。
然而,需要做出重要的區分。光線追跡涉及兩個方面的光的行為。其中,最常見的光線追跡應用領域,是電子游戲。光線追跡有助于游戲開發人員通過測定物體反射光線的方式,在游戲中提供逼真的視覺效果,從而實現著色器和全局照明(為3D場景添加逼真照明的算法)的實時開發。此外,其還可幫助開發人員提供表面紋理的渲染圖像。
視頻游戲是實時光線追跡技術,速度是關鍵,游戲引擎提供高級視覺效果以及高畫質圖像,盡管增加的算力會降低游戲的幀速率。游戲中的光線追跡以計算機圖形和渲染技術(光柵化等)為核心。
另一方面,在光學和光子學領域,光線追跡是光源與物理物體相互作用的方式,因此其考慮系統的材料屬性以及發生的物理相互作用。在光學和光子學領域,光線追跡的核心是準確定和光的行為核心,而不是作為視覺寫實的工具。本文重點介紹的是光線追跡在光學和光子組件設計中的應用。
光線追跡的工作原理?
光線追跡是一種計算方法,用于在光線穿過光學系統時對其進行建模。可將其用于設計透鏡、傳感器和其它光學組件,以便基于不同入射角的光與結構相互作用的方式來預測組件性能。光線在空氣中傳播并遇到另一種具有不同折射率(決定光在密度不同的兩種介質界面上彎曲程度的屬性)的材料時,會通過新介質折射,而有一部分則會反射。
展開 Ansys Zemax | 繪圖分辨率結果對光線追跡的影響
您會注意到,在這種情況下,光線追跡控制中沒有報錯:
然而,如果您比較這四個系統的光線追跡結果,您將會注意到,環形面分辨率越高,探測器上的總命中率就越高,但是根據上面的光線追跡結果來看,沒有光線被損耗。這里我們可以看出,只有具有自定義繪圖分辨率的探測器才會收集來自相應光源的所有光線:
比較四個系統的結果,可以清楚地看出環形面的繪制分辨率對光線追跡的影響:如果繪制分辨率不足以提供足夠的初步預測,光線追跡的結果是不準確的,且與預期不一致。
注意:上述行為很大程度上取決于您的具體系統,沒有關于何時需要提高繪圖分辨率的總體建議。此外OpticStudio沒有檢測這種潛在問題的方法,因此在這種情況下不會產生光線追跡錯誤。光線追跡結果需要由用戶來檢查(例如,通過系統3D視圖),以確保系統準確性。
展開 高數值孔徑準直系統的光線追跡分析
示例.0084(1.0)
關鍵詞:光線追跡,波前差,自定義評價函數,準直,RMS
1. 描述
■ 該案例中介紹了如何利用VirtualLab軟件中光線追跡引擎評價一個高數值孔徑準直透鏡系統的性能。
■ 顯示光線追跡分析結果的二維和三維結果。
■ 此外,利用一個可編程探測器對光線追跡結果中的自定義評價函數進行評價:
— 每條光線的波前差
— 準直光束波前差的均方根(RMS)值
2. 系統
文件名:UseCase.0084_CollimationSystem.lpd
3. 系統配置
■ 該系統包括一個用于照明準直透鏡系統的球面波。
■ 透鏡系統通過光學界面序列(OIS)定義。
■ 在透鏡系統后面5mm處放置一個虛擬屏和一個可編程探測器。
■ 可編程探測器可以定義光線和場追跡的自定義評價函數。
■ 在這個案例中,利用光線追跡信息(光程)計算波前差。
■目前這個探測器僅可用于準直光束。其功能將會很快的得到增強。
4. 編輯可編程探測器
5. 光線追跡系統分析器結果(3D)
6. 光線追跡結果(虛擬屏)
7. 光線追跡結果(波前差探測器)
8. 總結
■ 該案例說明,VirtualLab軟件可用于分析復雜光學系統。
■ 利用光線追跡可以進行三維和二維評價。
■ 可編程探測器允許用戶定義自定義的評價函數。這可以快速生成一個缺失的探測器防方程(非內置)。
■ 波前差和均方根探測將會在將來的版本中改進并作為標準探測器引入(內置)。
展開 
ZEMAX軟件技術應用教程專題繪圖分辨率結果對光線追跡的影響
您會注意到,在這種情況下,光線追跡控制中沒有報錯:
然而,如果您比較這四個系統的光線追跡結果,您將會注意到,環形面分辨率越高,探測器上的總命中率就越高,但是根據上面的光線追跡結果來看,沒有光線被損耗。這里我們可以看出,只有具有自定義繪圖分辨率的探測器才會收集來自相應光源的所有光線:
比較四個系統的結果,可以清楚地看出環形面的繪制分辨率對光線追跡的影響:如果繪制分辨率不足以提供足夠的初步預測,光線追跡的結果是不準確的,且與預期不一致。
注意:上述行為很大程度上取決于您的具體系統,沒有關于何時需要提高繪圖分辨率的總體建議。此外OpticStudio沒有檢測這種潛在問題的方法,因此在這種情況下不會產生光線追跡錯誤。光線追跡結果需要由用戶來檢查(例如,通過系統3D視圖),以確保系統準確性。
Ansys Zemax國內可靠代理商
光研科技南京有限公司是國內可靠的光學軟件和儀器光電供應商,提供企業定制化上門培訓服務,承接各類光學設計項目,并有一系列自主編寫出版的光學設計書籍。公司擁有一支高素質、高水平、實戰經驗豐富的管理,銷售以及研發團隊,從成立到現在已經為廣大企業,研究所以及高校提供了很多優秀的產品和服務,是光電圈內值得信賴的企業。追光逐夢,研以致用!以用戶的需求為起點,為客戶提供有價值的光學產品和服務一直都是光研科技南京有限公司的宗旨。
AnsysZemax光學軟件咨詢與訂購聯系方式
聯系人:南京光研 徐保平
手機號:15051861513
微信號:13627124798
您也可以掃一掃下面的二維碼直接咨詢
展開 Ansys Zemax | 在 MATLAB 或 Python 中使用 ZOS-API 進行光線追跡的批次處理
附件下載
聯系工作人員獲取附件
簡介
這篇文章會說明如何在 MATLAB 或 Python 中以 Zemax OpticStudio 應用程式界面 (ZOS-API)處理光線數據庫(Ray Database, ZRD)檔案,過程中我們將使用ZRDLoader.dll。本文提供了在 Matlab 中批次處理序列光線追跡(一般、歸一化、偏振或非偏振),以及在 Matlab 和 Python 中使用方法 ReadNextSegmentFull() 批次處理非序列 ZRD 檔案的范例。
什么是 RayTrace.dll?
RayTrace.dll 結合了 ZRDLoader.dll 和 ReadNextSegmentFull,并在序列模式中與4個 IBatchRayTrace 界面共同運作。此外,RayTrace.dll 這個動態連結函式庫涵蓋了以下的界面,并且繼承了 ZOSAPI.Tools.RayTrace 的命名空間:
IRayTraceDirectPolData (sequential):
在這個界面中,我們可以直接在 XYZ 坐標中完成批次的偏振光線追跡,而這也和 DDE 光線追跡指令(模式3)十分相似。此外,該界面屬于 IBatchRayTrace 界面的一種。
IRayTraceDirectUnpolData (sequential):
在這個界面中,我們可以在 XYZ 坐標中完成批次的非偏振光線追跡,而這與 DDE 光線追跡指令(模式1)相似。此外,該界面也同樣屬于 IBatchRayTrace 界面的一種。
展開 非序列配置:如何使用光線追跡和場追跡的仿真設置
摘要
VirtualLab不僅能夠進行光線追跡,也可以執行場追跡。各種數值參數的規定可以對數值模擬進行控制。在VirtualLab中,這通常由精度因子的規范來處理。本示例闡述了如何使用提供的精度因子來控制VirtualLab中的光線追跡和場追蹤引擎,并重點放在非序列仿真的設置上。
仿真設置概覽
以下將更詳細地解釋模擬設置:
總精度(第二代場追跡)
1 采樣精度
2 傅里葉變換精度
非序列光線/場追跡
3 能量閾值
4 最大級
5 通道分辨率精度
6 僅顯示在3D視圖中入射探測器的路徑
1. 采樣精度
? 采樣精度是一個用于在追跡期間控制光場信息準確性的參數。
? 可以通過增加采樣精度因子來克服出現的意外人為現象。
2. 傅里葉變換精度
? 在VirtualLab中有幾個傅立葉變換算法。
? 根據場是位于其衍射區域還是幾何區域自動選擇。
? 小的傅里葉變換精確度(例如0.01)迫使全局使用幾何傅里葉變換,其特點在于比衍射變換快得多。
? 另外,每個探測器都可以單獨強制使用幾何傅里葉變換。
? 可以通過在相應檢測器的編輯對話框中激活“檢測器參數”選項卡下的“假設幾何場區域用于檢測器評估”復選框來選擇此項。
3. 能量閾值(非序列光線\光場追跡)
? 能量閾值是非序列追跡引擎的停止標準。
? 對于光能低于能量閾值的每一個 非序列光路,沿著路徑的光追跡將不做處理。
能量閾值:方案說明
? 遇到玻璃板時透射和反射光能的示例性說明。
? 在剩余能量達到可以忽略的水平之前,通常不需要很多反射。
? 在全反射的情況下,當然應該考慮許多相互作用。
? 下面顯示了能量閾值影響的一個例子。
展開 Ansys Zemax | 在 MATLAB 或 Python 中使用 ZOS-API 進行光線追跡的批次處理
附件下載
聯系工作人員獲取附件
這篇文章會說明如何在 MATLAB 或 Python 中以 Zemax OpticStudio 應用程式界面 (ZOS-API)處理光線數據庫(Ray Database, ZRD)檔案,過程中我們將使用ZRDLoader.dll。本文提供了在 Matlab 中批次處理序列光線追跡(一般、歸一化、偏振或非偏振),以及在 Matlab 和 Python 中使用方法 ReadNextSegmentFull() 批次處理非序列 ZRD 檔案的范例。
什么是 RayTrace.dll?
RayTrace.dll 結合了 ZRDLoader.dll 和 ReadNextSegmentFull,并在序列模式中與4個 IBatchRayTrace 界面共同運作。此外,RayTrace.dll 這個動態連結函式庫涵蓋了以下的界面,并且繼承了 ZOSAPI.Tools.RayTrace 的命名空間:
IRayTraceDirectPolData (sequential):
在這個界面中,我們可以直接在 XYZ 坐標中完成批次的偏振光線追跡,而這也和 DDE 光線追跡指令(模式3)十分相似。此外,該界面屬于 IBatchRayTrace 界面的一種。
IRayTraceDirectUnpolData (sequential):
在這個界面中,我們可以在 XYZ 坐標中完成批次的非偏振光線追跡,而這與 DDE 光線追跡指令(模式1)相似。此外,該界面也同樣屬于 IBatchRayTrace 界面的一種。
展開 ZEMAX | 在MATLAB或Python中使用ZOS-API進行光線追跡的批次處理
主題:Zemax 成像設計線上培訓
時間:2022年4月14日-15日
點擊圖片查看培訓詳情
這篇文章會說明如何在MATLAB或Python中以Zemax OpticStudio應用程序界面(ZOS-API)處理光線數據庫(Ray Database,ZRD)檔案,過程中我們將使用ZRDLoader.dll。本文提供了在Matlab中批次處理序列光線追跡(一般、歸一化、偏振或非偏振),以及在Matlab和Python中使用方法ReadNextSegmentFull()批次處理非序列ZRD檔案的示例。
作者 Michael Humphreys
附件下載
(聯系工作人員獲取附件)
什么是RayTrace.dll?
RayTrace.dll結合了ZRDLoader.dll和ReadNextSegmentFull,并在序列模式中與4個IBatchRayTrace界面共同運作。此外,RayTrace.dll這個動態連接函式庫涵蓋了以下的界面,并且繼承了ZOSAPI.Tools.RayTrace的命名空間:
IRayTraceDirectPolData (sequential):在這個界面中,我們可以直接在XYZ坐標中完成批次的偏振光線追跡,而這也和DDE光線追跡指令(模式3)十分相似。此外,該界面屬于IBatchRayTrace界面的一種。
IRayTraceDirectUnpolData(sequential):在這個界面中,我們可以在XYZ坐標中完成批次的非偏振光線追跡,而這與DDE光線追跡指令(模式1)相似。
展開 如何在 SYNOPSYS 中使用光線追跡
本文介紹了 SYNOPSYS 的光線追跡功能,簡單闡述了光線追跡功能的作用以及如何在 SYNOPSYS 中打開使用這個功能。
點擊文末【閱讀原文】獲取本文附件
簡介
熟悉其他鏡頭設計規范的人已經知道兩種常見的光瞳定義:一種是近軸光瞳,僅適用于簡單系統或光闌位于前面的地方。對于更復雜的系統,使用“光線追跡”可以在系統內部某處模擬一個真實光瞳,對其進行建模。
光線追跡和廣角光瞳
上述討論涉及廣義上的光線追跡。在分析圖像時,必須確保追跡到合適的光線束。一些程序通過在光闌創建一個網格來實現這一點,然后通過迭代找到一條擊中該網格中每個點的光線。雖然這個方法十分有效,但它非常慢。但是 SYNOPSYS 可以通過僅迭代五條光線來找到光瞳輪廓,然后用統一的網格填充以定義光瞳。一旦找到光瞳就不需要后續的迭代計算,因此大大加快了計算速度。
那么應該用哪個選項呢? 近軸光瞳速度最快,真實光瞳速度較慢,WAP 選項更慢。在不必要的情況下,選擇復雜的選項是不明智的,例如 WAP 3。所以從近軸光線開始,觀察主光線(光束中的中心光線)的路徑,查看它是否通過了光闌的中心附近。如果沒有,激活真實光瞳搜索選項,然后檢查光闌是否正確填充。
在 SYNOPSYS 中有三種廣角光瞳類型,分別為 WAP 1,WAP 2和 WAP 3,下面將對這三種類型進行簡單介紹。
展開 利用光線追跡分析高數值孔徑透鏡系統
10.總結
■VirtualLab Fusion 可利用新的光線追跡引擎對復雜光學系統進行分析。
■利用三維光線追跡我們可以對系統進行分析,并對位置等信息進行概覽。
■此外,系統可以直接利用光線追跡引擎進行分析。
■可用于評價點列圖,也可以附加其他探測器(如光斑尺寸探測器)。

VirtualLab運用:激光束傳輸系統設計——超越光線追跡
2.系統說明
3.建模及設計結果
4.其他VirtualLab 功能
在該示例中,你可以收益于如下所選的功能:
?一個非球面透鏡的聚焦能力的分析
?確定焦點位置,通過:
—焦點尋找工具
—參數運行文件
—光束參數探測器
?獲得不同的信息/說明性的結果,如:
—透鏡像差
—光束質量:光斑尺寸/形狀,M2值
—不同的2D&3D圖以證實聚焦的變化
5.總結
VirtualLab能夠:
?利用場追跡,高精度的確定焦點位置
?可通過兩步確定位置:
—通過光線追跡快速焦點尋找
—利用場追跡進行焦點的高精度研究
光束傳輸系統(BDS.0002v.1.0)
用于激光束聚焦的雙膠合透鏡優化
1.系統介紹
?光源
—具有發散角的紅外激光二極管
?組件
—折射準直系統及具有聚焦特性的雙膠合透鏡
?探測器
—點列圖
—波前差
—聚焦區域的1維和2維探究
—光束參數
?建模/設計
—光線追跡:初始優化。
—場追跡:進一步降低光斑尺寸。
2.系統說明
3.建模與設計結果
光束參數的參數優化
4.總結
對使用光線追跡所獲得的透鏡,應用一個基于場追跡的優化步驟,可以改善透鏡設計。
第一步:利用光線追跡進行預優化進行快速仿真以獲得合適的場追跡優化起始點。
第二步:將衍射效應考慮在內,使用場追跡進行精細化優化。
展開 在 MATLAB 或 Python 中使用 ZOS-API 進行光線追跡的批次處理
這篇文章會說明如何在 MATLAB 或 Python 中以 Zemax OpticStudio 應用程式介面 (ZOS-API)處理光線數據庫(Ray Database, ZRD)檔案,過程中我們將使用ZRDLoader.dll。本文提供了在 Matlab 中批次處理序列光線
追跡(一般、歸一化、偏振或非偏振),以及在 Matlab 和 Python 中使用方法 ReadNextSegmentFull() 批次處理非序列 ZRD 檔案的范例。
(聯系我們獲取文章附件)
什么是 RayTrace.dll?
RayTrace.dll 結合了 ZRDLoader.dll 和 ReadNextSegmentFull,并在序列模式中與4個 IBatchRayTrace 介面共同運作。此外,RayTrace.dll 這個動態連結函式庫涵蓋了以下的介面,并且繼承了 ZOSAPI.Tools.RayTrace 的命名空間:
IRayTraceDirectPolData
(sequential):
在這個介面中,我們可以直接在 XYZ 座標中完成批次的偏振光線追跡,而這也和 DDE 光線追跡指令(模式3)十分相似。此外,該介面屬于 IBatchRayTrace 介面的一種。
IRayTraceDirectUnpolData
(sequential):
在這個介面中,我們可以在 XYZ 坐標中完成批次的非偏振光線追跡,而這與 DDE 光線追跡指令(模式1)相似。此外,該介面也同樣屬于 IBatchRayTrace 介面的一種。
展開 利用光線追跡分析高數值孔徑透鏡系統
■ 默認情況下光線顯示的顏色比此波長的顏色。本案例中我們使用的是非可見光。
■ 你可以通過下面的操作將背景顏色該為白色
9. 焦平面上的結果
■ 在左側圖片中可以看到焦平面上計算出的點列圖。
■ 在探測器結果(Detector Result) 標簽下,給出了光束尺寸。
■ 焦平面上的光斑尺寸為183mm
■ 此外,背景顏色也可以預先設置。
■ 該測量采用均方根(RMS)計算法。
10. 總結
■ VirtualLab Fusion 可利用新的光線追跡引擎對復雜光學系統進行分析。
■ 利用三維光線追跡我們可以對系統進行分析,并對位置等信息進行概覽。
■ 此外,系統可以直接利用光線追跡引擎進行分析。
■ 可用于評價點列圖,也可以附加其他探測器(如光斑尺寸探測器)。
展開 經過玻璃平板的非序列光線追跡
虛擬和混合現實>近眼顯示
任務/系統描述
亮點
非序列光場追跡,具有可控制的輸入/輸出正向及反向通道邏輯
說明:光源
說明:準直透鏡
說明:玻璃平板
說明:通道邏輯
說明:探測器
結果:3D光線追跡&點列圖
結果:3D光線追跡&點列圖
結果:3D光線追跡&點列圖
文件&技術信息