Skip to content

Latest commit

 

History

History
47 lines (24 loc) · 1.58 KB

README.md

File metadata and controls

47 lines (24 loc) · 1.58 KB

Optical-Ray-Tracer

Date: 27/11/2022

By: William Nguyen

Written and tested in Python 3.7

----- GETTING STARTED -----

  • import the classes and functions from the raytracer.py and optimisation.py

  • set up an optical system, which can consist of SphericalRefraction, AsphericRefraction and OutputPlane objects

  • use propagate_ray method to trace rays or a collimated beam

  • visualise the results with MatplotLib

  • For more detailed instruction, see example.py file

----- MODULES -----

  • raytracer.py contains the classes and functions required to model ray tracing

  • optimisation.py contains the methods to calculate RMS of different optical systems

----- SCRIPTS ------

  • example.py contains the example script on how to get started with the optical ray tracer

  • unit_test.py contains the script to check the operations of classes and functions

  • aspheric_surface_testing contains the unit tests for aspheric surface.

  • ray_tracing_investigation.py contains the script to perform Task 12 - 15 of the project.

  • biconvex_lens_optimisation.py contains the script to perform the lens optimisation task.

  • aspheric_surface_optimisation contains the script to optimise plano-convex and bi-convex lens with adaptive optics.

----- Sample outputs ------

image image image