Evolute / reflection caustic

Explore curvature centers and envelopes of reflected rays on an ellipse, parabola or line.

About this tool

Choose an example or edit the mode, curve and parameters in Settings. Valid changes update directly. Move the point probe or play it to follow the normal, curvature circle or reflected ray. Settings contains exact position, measurements and legend. Probe position parametrizes the curve linearly, not by arc length. Raw inputs, including unfinished/inactive drafts, persist; plots are recalculated on reload. Playback position and images are not saved. Reset restores the initial ellipse.

LU denotes one freely chosen length unit, used consistently for every coordinate and length. The ellipse is P(u) = (a cos u, b sin u), with u from 0 to 2π. A circle is the case a = b. The parabola is P(u) = (u, ku²), and the line is P(u) = (u, 0), both with u from −Half-span to +Half-span. The coefficient k has units 1/LU. The source is L = (Source x, Source y).

Write T = P′/|P′| for the unit tangent and N for its left normal. Signed curvature is κ = det(P′, P″)/|P′|³; the curvature radius is 1/κ and its center is C = P + N/κ. Curvature is positive for the displayed ellipse and parabola parameterizations. A line has κ = 0 and no finite radius or center. The normal and curvature circle correspond to the selected P; the circle is clipped at the frame. Open center markers remain visible when the evolute collapses to a single point, as for a circle.

For the ellipse, C = ((a² − b²)cos³u/a, (b² − a²)sin³u/b). For the parabola, C = (−4k²u³, 1/(2k) + 3ku²). These centers describe local bending; they are distinct from the reflection caustic.

For reflection, the incident unit direction is U = (P − L)/|P − L| and the reflected direction is r = 2(U·T)T − U. Neighboring reflected lines have the form P(u) + λr(u). Their envelope satisfies det(P′ + λr′, r) = 0, giving λ = det(P′, r)/det(r, r′) and Q = P + λr. λ is a signed distance: nonnegative values place Q along the reflected ray, negative values place it on the backward extension. Virtual caustics and the selected backward extension are dashed. The incident and reflected arrows show the actual directions; the few additional rays illustrate the same family.

If the source coincides with P, reflection is undefined. A vanishing denominator gives no finite envelope point: locally parallel rays when the numerator is nonzero, or a degenerate line family when both vanish. Numerical classification uses a relative threshold of 10⁻¹²: |det(r, r′)| ≤ 10⁻¹²·max(1, |r′|), with |det(P′, r)| ≤ 10⁻¹²·|P′| identifying the degenerate case. Source contact uses distance ≤ 10⁻¹²·max(1, |P|). Thus nearly parallel lines can also be classified as lacking a finite point; this does not claim exact parallelism.

The ellipse-focus example reflects toward the other focus. A parabola illuminated from its focus has parallel reflected rays. A line with an off-line source has a virtual point caustic at the mirrored source, despite zero curvature. For example, a source at (0, 1) above y = 0 gives Q = (0, −1). A source on the line makes the supporting-line family degenerate away from source contact.

The fitted frame uses equal x and y scales. It includes the curve and evolute in curvature mode, or the curve and source in reflection mode, with a total 24% margin. Unbounded caustic branches are clipped and separated at detected poles and singularities. Exact probe coordinates remain available even outside the frame. The 721 uniformly parameterized display samples do not guarantee accuracy near caustic poles. This is one reflection at the tangent, without occlusion, further wall contacts, intensity, diffraction or refraction; it is not a real optical design calculation.

Input limits are a, b and Half-span from 0.2 to 3 LU, k from 0.01 to 2 per LU, and source coordinates from −5 to 5 LU. All calculations remain in your browser.

Sources: James R. King, Investigating the Geometry of Curves Dynamically; Robert Jantzen, Explicit equations for the evolute of an ellipse.

The diagram fits the curve and evolute, or curve and source, into the available rectangle with equal x/y scales and 24% total padding. A line’s virtual image point is also included. Unbounded caustic branches remain clipped, without joining across detected poles. PNG exports the current drawing and its numerical parameters.