ANN: RayTraceEllipsoid.jl

Hi all!
I’m happy to announce the RayTraceEllipsoid.jl package. It allows for geometric ray tracing. Currently, the only shape you can trace rays with is a dome shaped as an ellipsoid, so it’s a section of an ellipsoid. It includes intersection and refraction/reflection of rays. It accomplishes that in about 100 lines of code thanks to heavy use of CoordinateTransformations.jl and StaticArrays.jl.
I think it’s pretty cool that I can get such fast ray tracing with so little code for any arbitrary 3D ellipsoids…
PR etc are of course welcome!

2 Likes

Sounds interesting. Have you seen ConstructiveSolidGeometry.jl ?
That’s another package that does ray tracing. If you’re aware of this, could you explain what the difference is with your package?

Yea, I saw it. I think it’s really impressive. I wanted to use it for my own work but it didn’t have any ellipsoids which was the only shape I really needed. I then started off writing a small and simple ray tracer and then I quickly got drawn into more and more details, finally stumbling on the CoordinateTransformations.jl trick.
It would be cool to compare speeds and performance between the two packages, but ConstructiveSolidGeometry.jl does a whole lot more (all the CSG thing!). Thinking about it now, it might be a cool idea ot re-fracture ConstructiveSolidGeometry.jl’s code into the CSG part and the ray tracing part. I’m curious if CoordinateTransformations.jl would work on CSG shapes…

1 Like