Set a parallel beam, a point source or a laser on an optics bench, then converging and diverging lenses, plane and curved mirrors, and a screen. Every ray is traced from its source through each piece it meets: a lens bends it towards its focal plane, a mirror reflects it, a screen stops it.
Move a lens and the rays follow it. A parallel beam meets at the focus; an object farther than the focal length gives a real, inverted image where the thin-lens equation puts it, and a closer one a virtual image, drawn dashed, on its own side of the lens.
The panel reads the power of each lens and mirror in dioptres, the object and image distances, the magnification, and where the rays land on a screen.
Put sources, lenses, mirrors and screens on a bench, move them, and watch the rays, the focus and the image follow, then save the figure as SVG or PNG. The tool needs JavaScript, because the rays are traced in your browser.