Reflecta
Reflecta is a sandbox-type program to simulate light rays reflecting and refracting (in 2D), allowing you to
play around with various types of light sources and optical objects.
View on GitHub
Developed by Rudrajeet (KineticTactic)
Features
-
Light Sources such as Point Lights, Light Rays, Light Beams and Lasers, and objects such as Prisms,
Lenses (ideal and realistic), Mirrors, etc.
- Reflection, Refraction, and Total internal reflection based on Snell's laws.
-
Partial reflection/refraction (reflectance/transmittance) calculation using fresnel equations. Enable it
in World Options > Sim Options > calculate reflectance.
- Dispersion of rays, variable refractive indices based on wavelength
- Accurate Color simulation from wavelength using CIE1964 color transforms.
- Dynamically update properties in real time.
-
Uses polyly for rendering, a fast
and dynamic WebGL 2D primitives renderer.
Why was this made?
This is a learning experience for me and a creative coding project. The idea was to create a "sandbox" where
you can play around with lenses and prisms interactively, inspired by my fascination with Optics in Physics.
It can also be used for educational purposes, like in a classroom, for demonstrating various light phenomena
and image formations interactively.