Interactive schematic · photon primitives

Release one coordinate; retain a finite width

Ring, arc and beam sweep one of the same three coordinates. A curve and a ray generally miss in 3D: the displayed tube makes their shared finite-width support visible.

Mint / gold / violet = members · white = camera ray
Read the construction

The ring sweeps azimuth; the arc sweeps polar angle; the beam sweeps distance. Adjust the radius to see the geometric support grow. With one shared radius the kernel factor cancels in the local balance weights, but the finite-radius bias does not.

What sets the native cost?

Blur does not simplify the ring / arc query. The native solver isolates stationary-distance roots of a quartic with its cubic derivative, then bisects each bracket 50 times. The beam uses a small linear solve. A three-member mixture pays for both curved solves plus the beam.

Local balance weights and their measure

Aᵦ = qμ qφ sinψᵦ / t²; Aᵣ = qμ qₜ sinθ sinψᵣ / t; Aₐ = qφ qₜ sinψₐ / (t sinθ)

wᵢ = pᵢ / Σⱼ pⱼ

qμ = 2 cosθ and qφ = 1/(2π) for the cosine hemisphere shown. ψ is the angle between each curve tangent and the camera direction. These are the shared-event, zero-width limiting numerators. The native finite-width mixture is consistent, not unbiased at a fixed radius.

Computed geometry and local density ratios, derived from RadianceLab’s transport implementation. Line density, tube shading and glow are diagram styling. No native film, convergence curve or frame-time benchmark runs here.