← Back to Bricklab
BRICKLAB METHODS

How Bricklab computes things

Bricklab uses first-order, small-angle optics in reduced ray coordinates (y, n·u). These conventions match the values shown in the prescription, layout, results, and brick sheet.

Aperture stops, field stops and vignetting

The aperture stop sets the on-axis cone. Its marginal ray reaches the stop edge, and the chief ray from the requested field goes through the stop center. The two rays describe different object points. A field stop limits the range of object points admitted; it does not change the field you entered.

For each aperture, Bricklab writes the meridional bundle height as y = a·p + c·q. Here p runs from −1 to 1 across the selected stop, and q is finite object height in mm, or tan(field angle) for an infinite object. Full illumination requires |a| + |c·q| ≤ clear radius. The chief limit uses p = 0. Complete cutoff occurs when no interval of p can pass every aperture. These three limits can differ. A limiting aperture at an image of the object is identified as a field stop; elsewhere it is labeled a field-limiting aperture.

For example, two empty apertures separated by 20 mm with radii 1 and 2 mm, using the first as the stop, give y₂ = p + 20q. Full illumination ends at q = 0.05 (2.8624°); the chief is blocked beyond q = 0.1 (5.7106°); the last edge ray is lost at q = 0.15 (8.5308°). This is a first-order meridional limit, not a radiometric throughput estimate.

Physical rays end at their first blocked surface, marked with a cross. The untruncated mathematical traces remain in the brick sheet and first-order calculations. Object/image arrow extents are decorative unless you explicitly enable the real-image sensor role. A virtual image or an image at infinity cannot host that physical sensor.

Solid outgoing rays continue in the physical direction. Dotted lines extend them backward to virtual images. The dashed blue reference enters from image-space infinity and locates the front focus. Axial and transverse display scales differ, so read the numerical slope rather than measuring a pixel angle.

References: Edmund Optics, paraxial tracing; Montana State University, stops and pupils.

Sign conventions

Radius R
Positive when the centre of curvature is to the right of the surface vertex; negative when it is to the left. Leave R blank for a plane surface—zero is invalid.
Thickness t
The axial distance from the current row to the next surface. Distances follow the propagation direction; a mirror reverses that direction.
Distances after reflection
After an odd number of reflections, a negative axial coordinate points back toward the incoming side. Bricklab keeps that signed coordinate internally, but reports physical output distances as a positive magnitude with an “in front of” or “behind” note.
Index after n′
The refractive index immediately after the surface. Stops, dummy planes, and thin elements inherit the surrounding medium unless explicitly overridden.
Ray angle u
A paraxial slope in radians. The brick sheet carries the reduced angle n·u so refraction and translation remain simple additions.

The two brick operations

REFRACTIONn′u′ = nu − yΦ

Surface power is Φ = (n′ − n) / R.

TRANSLATIONy₂ = y₁ + (t / n′)(n′u′)

The reduced thickness t/n′ advances the ray to the next plane.

What the model does—and does not—mean

Results are paraxial: they are excellent for focal lengths, conjugates, pupils, first-order ray heights, and early layout work. They do not replace a full real-ray model for high numerical aperture, fabrication tolerances, or detailed aberrations.