使用几何光学方法对光学系统进行仿真与设计的本质是通过模拟光线的现实传播行为来追踪光线,即 光线追迹(Ray-tracing) 算法。根据不同的应用场景可以有各种具体的实现原理。从应用方向来看,光线追迹主要用于计算机图形学图像渲染和光学系统仿真与设计两个方向。其中在光学系统仿真与设计的应用方向上,根据需要分析的具体光学参数指标,具体的算法技术可分为序列 (Sequential) 光线追迹和非序列光线追迹 (Non-Sequential) ,从而满足快速的计算与分析指标所需原始数据的获取两个需求间的权衡;根据光学系统中光源与接收器处光学扩展量大小的对比,以及光线在光学系统中由于大量散射造成的无序度,具体的算法策略又可分为正向光线追迹,反向光线追迹以及混合光线追迹。
在以上的各种算法分支中,相对来讲,非序列正向光线追迹更符合实际物理过程、更通用,但同时也是更消耗时间、内存资源的方法。幸运的是,得益于计算机算力的不断提升和软件设计理念的进步与发展,通过对光学系统各光学元件属性的解构和重新组合,以及快速求交算法程序架构的开发,Rayzen 的非序列正向光线追迹算法已可以做到:在计算准确度和计算收敛性方面与已有的同类标杆软件保持持平,在计算速度方面,可以做到完成单线程 10min 内亿次光线求交的计算,并在多线程并行时保持 60% 以上的并行效率。在未来的开发中,我们也将致力于针对不同类型的光学系统开发自适应的加速结构,在保证计算精确度和收敛性的前提下,进一步提升仿真效率。