Skip to content

Latest commit

 

History

History
16 lines (10 loc) · 1.55 KB

README.md

File metadata and controls

16 lines (10 loc) · 1.55 KB

RayTraceEllipsoid

Build status Build Status

Coverage Status codecov.io

This Julia package allows for geometric ray tracing with ellipsoids (actually domes shaped as ellipsoids). It includes intersection and refraction/reflection of rays with arbitrary ellipsoids. It accomplishes that in about 100 lines of code thanks to heavy use of CoordinateTransformations.jl and StaticArrays.jl.

These ellipsoid-domes are defined with Ellipsoid (see details with help?> Ellipsoid). The normal and refractive indices are defined within the Interface type. These two are baked into a single OpticUnit.

Rays advance! to intersect with the Ellipsoids and bend! at the Interfaces. The raytrace! function includes these two actions, taking in a Ray and an OpticUnit, updating the location and direction of the ray.

Todo

  • add the Angles.jl package to improve how users input cos(α)
  • add rotated ellipsoids
  • add more shapes, so it's not only RayTrace**Ellipsoid**