/odak

Wave optics and ray tracing library

Primary LanguageTeX

Wave optics and ray tracing library for Python

Author: Kaan Akşit
Licence: GPLV2

Dependency: matplotlib, numpy

Currently available methods inside source/lib/odak.py

- Methods for Fresnel and Fraunhofer diffractions
- Methods for creating apertures such as circular, rectangular, slits, sinusoidal amplitude grating, lens, retroreflector and two slits
- Methods for plotting cross section, 2D & 3D data
- Methods for diverging and converging spherical wave
- Methods for diverging and converging gaussian beam
- Methods for Jones Calculus: Linear polarizers, circular polarizers, quarter wave plates, liquid crystal cells (Nematic and ferroelectric) and birefringent plate
- Methods for ray tracing, snell's law and reflecting using:
 * planar surfaces,
 * spherical surfaces,
 * quadratic surfaces,
 * meshed surfaces.
- Methods for displaying using:
 * Matplotlib
 * Old school OpenGL
- Methods for paraxial matrix theory: free space propagation, plotting paraxial rays