Mirror-Project
mirrors.pde simulates light rays bouncing off line or ellipse shaped mirrors.
You can click to move the origin of the light ray, and it shoots towards your cursor.
There is an option in the code to select preset mirror arrangements, but any arrangement can be made with the classes defined here. Additionally, you could have many light rays shooting in different directions, or something else of that sort. The code is very generalizable.