The paper considers a two-level method of ray tracing in optical systems containing aspherical surfaces. The problem with the methods for finding the point of a ray intersection with an aspherical surface is the absence of an analytical solution for surfaces whose polynomial degree exceeds four. Existing numerical solutions may turn out to be inefficient and require many iterative approximations while fitting the ray to the surface. Also, when performing a stray light analysis, the rays’ directions can differ significantly from the natural path, which leads to a significant loss of accuracy and excess memory load. The current study is aimed at solving two main problems: increasing the efficiency of calculations (decreasing the number of iterations) and increasing the calculation's accuracy. We propose to use a two-level geometry representation for aspherical surfaces. The first level is a triangular mesh approximating the aspherical surface. This mesh is built adaptively, with a specified maximum deviation of the aspherical surface from the mesh faces. The second level is the aspherical surface itself. The intersection with the triangle mesh brings the ray close to the aspherical surface. Then, using information about intersected triangle vertices and normals, an approximation is performed, which significantly speeds up and improves the accuracy of the search for the intersection with an aspherical surface. Using SIMD programming allowed for achieving high performance for tracing beams of rays, e.g., during stray light analysis. The efficiency and correctness of the solution were demonstrated by examples of the point spread function calculations.
|