原创 LasyOpticalDesigner 0.1.0開發者日誌 (零)

前言 本人本是光學專業,現在轉行coder,方纔發現對於光學工程師們來說,並沒有一款足夠靈活多樣的f分析/設計軟件,可以按照光學工程師們的意志得到自己想要的各種結果。光學工程師們往往需要做一些重複的單一的工作,或者將大量的時間用在

原创 LasyOpticalDesigner 0.1.0開發者日誌(壹)幾何光學光線數據結構的建立

幾何光學光線數據結構的建立 利用numpy 可以非常方便的建立一個矩陣,用以存儲光路。 以幾何光學爲例,光線是由一系列的射線和線段組成。 那麼比較直觀的建立其數據結構的方案就是建立一個歐式座標系下的矩陣,並且以點法式爲優 在空間中

原创 LasyOpticalDesigner0.1.0開發者日誌(貳)求取高階非球面和一般自由曲面交點的通用方法

求取高階非球面和一般自由曲面交點的通用方法 之前曾經寫過一個求取自由曲面與射線交點的類,https://blog.csdn.net/migfulcrum/article/details/102865569 不過那並不適用於tens

原创 用Python求解射線與曲面交點

用Python求解射線與曲面交點 在光學射線追跡問題中,往往需要計算光線與光學元件表面的交點 如果是球面或者有限階數的非球面,可以找到明確的解析解,(5階以下) 但是如果是面對高階非球面以及一些更加複雜的自由曲面時,就只能通過插值

原创 LasyOpticalDesigner0.1.0開發者日誌(八)優化器(壹)

LasyOpticalDesigner0.1.0開發者日誌(八)優化器(壹)優化器局部優化方法錘子優化算法(錘形的翻譯有一定的問題),(hammer)——半全局方法 優化器 光學系統優化有局部優化和全局優化以及介乎二者之間的優化方

原创 LasyOpticalDesigner0.1.0開發者日誌(伍)2D操作模塊

介紹 由於2D操作模塊僅僅作爲計算光線的出發點位置的工作,在真個主循環中僅僅運行一次或者有限的幾次。因此在性能上並不需要太高的要求。不需要將每一個表達式的解析解寫出。所以可以直接用近似於原生python代碼風格用tensorflo

原创 一個簡單的連續變焦紅外鏡頭的從零開始的設計過程(zemax)(一)

基本介紹 這裏我將介紹一個連續變倍(300 ~ 50)F# = 4 的中波紅外鏡頭的設計過程。 我這裏並沒有利用一個現成的紅外鏡頭作爲初始結構,用來設計的軟件是zemax 可以注意到以上的鏡片參數都是整數,材料僅僅只用了硅和鍺,這

原创 LasyOpticalDesigner 0.1.0開發者日誌(壹——補)幾何光學部分的整體框架

簡介 由於文檔編寫經驗的缺失,導致發表的文檔有些順序上的錯亂。在這裏向大家表示抱歉, 這個模塊應該是最先發布的 本文將介紹整個幾何光學部分的整體框架 兩個交互模塊:OpticalRays.py;Structure.py; 兩個運算