College of Science & Engineering

Developing an open-source, rapid ray tracer for aspherical lenses

Supervisor: Dr Valentin Aslanyan

School: Mathematics and Statistics

Description:

Aspherical lenses are optics whose refractive surfaces cannot be described by primitive functions such as spheres, parabolas and the like. This allows for designs which are simultaneously compact and powerful, leading to them being found ubiquitously in devices such as smartphones and cameras. However, their complicated morphology makes it challenging to model them accurately and rapidly; an accurate description may require functions with dozens or hundreds of parameters.

Figure 1: Test visualizations of elementary optics. (a) Red checkerboard pattern in front of an idealized detector. Rays distorted by (b) an ideal sphere and (c) a spherical lens; in both cases, faint reflection of a green checkerboard behind the detector can be seen. (d) Side view of a spherical biconvex lens.

 

 

Figure 2 - Mobile phone camera, including aspherical lenses, as designed and imaged by x-ray microscopy.

This project seeks an intern with an interest in mathematics and numerical methods to develop a robust and rapid algorithm which would transport light rays through an aspherical optical system.  An existing self-contained ray tracing package, written in C/C++ with optional acceleration using the OpenCL API will be provided by the Project Supervisor (see Figure 1 above). The intern should work towards the following objectives:

(1) Evaluate the feasibility, accuracy, and speed of several candidate methods, such as ray stepping or root finding. Based on this, select the optimal method for this problem.

(2) Implement the chosen method into the existing ray tracing framework.

(3) Document the findings of this study and the code produced thoroughly, and make it public using version control software.

A primer about the basics of optics from the Primary Supervisor is available here: https://www.youtube.com/watch?v=O772SsMqjhY