Drag the amber arrow to move the object · scroll/drag canvas to orbit
Stats
object distance u—
image distance v—
focal length f—
magnification m—
Move the object to form an image.
Optical element
Scales the physical height of the mirror or lens itself (not the object) — a bigger element catches more of the rays around it.
Scales how deep the mirror's backing or the lens's body is — purely cosmetic, it never touches the reflecting/refracting surface itself, so the optics (focal length, image position) don't change.
Aperture curtain
Top-Left
Top-Right
Bottom-Left
Bottom-Right
Each switch physically removes that quarter of the entrance element — the actual silvering/glass piece is gone, not just covered, so light literally has nothing to reflect or refract off there. The image stays in the same place, but with fewer real rays converging to build it, it's dimmer and visibly softer/blurrier — same as a real optical system with part of its aperture blocked. The idealized construction rays used for u/v/f/m still draw in full regardless.
Curvature
◀ concaveflatconvex ▶
Drag from 0 (flat) outward either way — the surface morphs continuously and the focal length updates live.
Lens system
LENS 1
◀ concaveflatconvex ▶
LENS 2
◀ concaveflatconvex ▶
N-Lens system
Each lens gets its own shape and bend; set the gap in front of it (Lens 1 always sits at the entrance). Rays chase the image through every lens in order — same math as the 2‑lens system, just for as many as you add.
Object
Snap to principal axis
The object can only stand on the reflective (front) side of the mirror — it can't be dragged through the glass.
Ray sectors
Upper Left
Upper Right
Lower Left
Lower Right
Every point on the flame emits light in all directions — each switch independently shows or hides that slice of it, exactly as set (off always means hidden, on always means shown, no exceptions). All four off means no fan is drawn. Use the preset buttons below to light up every sector at once. Image formation always uses the complete ray set underneath either way.
Projection screen
Show screen
Slide the screen to where the rays actually converge — that's the only place a real image sharpens into focus. Virtual images never land on it.
Labels
Pole (P) & principal axis
Display
Object
Ray lines
Light as particles
Rays that miss the element
5 rays hide fan
See yourself in the mirror
Accurate point-source rays
Every point on the object emits light in all directions, not just straight across — with this on, a fan of rays at many angles is traced from the object tip. The image is always drawn at its true, full computed height (matching where the principal construction rays actually converge) regardless of this switch; what this switch changes is only how the light itself is sampled and drawn.
Parallel-ray focus demo
F focal plane(s)
C centre of curvature
Image arrow + axis point
Solid black grid
Ray key
parallel → through focus
through focus → parallel
through centre / pole — undeviated
to pole — reflects at equal angle (mirrors)
object's foot, along the axis — foot maps to foot
principal axis — the reference line every angle is measured against
red dotted = virtual-image extension
Real physics: image position and size follow the mirror equation 1/v + 1/u = 1/f and lens equation 1/v − 1/u = 1/f (Cartesian sign convention), magnification computed exactly — not illustrative.