The black circle is the object. You can drag any point in it to change it's shape.
The image might not be unique if the curvature is too small (there is no unique forcus point).
All the light paths were calculated from the law of reflection.
i.e. The angle of reflection equals the angle of incidence.

You can change the curvature R (slider or drag points with mouse) or change the scale of the simulation area.

VIEW or DOWNLOAD ejs xml source
then click to translate strings for selected locale.

Press the Alt key and the left mouse button to drag the applet off the browser and onto the desktop.