Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
7 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,16 @@ | ||
# RayTraceEllipsoid | ||
|
||
[![Build status](https://ci.appveyor.com/api/projects/status/voutf74a40lh511f?svg=true)](https://ci.appveyor.com/project/yakir12/raytraceellipsoid-jl) | ||
[![Build status](https://ci.appveyor.com/api/projects/status/voutf74a40lh511f?svg=true)](https://ci.appveyor.com/project/yakir12/raytraceellipsoid-jl) [![Build Status](https://travis-ci.org/yakir12/RayTraceEllipsoid.jl.svg?branch=master)](https://travis-ci.org/yakir12/RayTraceEllipsoid.jl) | ||
|
||
[![Build Status](https://travis-ci.org/yakir12/RayTraceEllipsoid.jl.svg?branch=master)](https://travis-ci.org/yakir12/RayTraceEllipsoid.jl) | ||
[![Coverage Status](https://coveralls.io/repos/yakir12/RayTraceEllipsoid.jl/badge.svg?branch=master&service=github)](https://coveralls.io/github/yakir12/RayTraceEllipsoid.jl?branch=master) [![codecov.io](http://codecov.io/github/yakir12/RayTraceEllipsoid.jl/coverage.svg?branch=master)](http://codecov.io/github/yakir12/RayTraceEllipsoid.jl?branch=master) | ||
|
||
[![Coverage Status](https://coveralls.io/repos/yakir12/RayTraceEllipsoid.jl/badge.svg?branch=master&service=github)](https://coveralls.io/github/yakir12/RayTraceEllipsoid.jl?branch=master) | ||
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`. | ||
|
||
[![codecov.io](http://codecov.io/github/yakir12/RayTraceEllipsoid.jl/coverage.svg?branch=master)](http://codecov.io/github/yakir12/RayTraceEllipsoid.jl?branch=master) | ||
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`. | ||
|
||
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`. | ||
`Ray`s `advance!` to intersect with the `Ellipsoid`s and `bend!` at the `Interface`s. 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**` |