As-worn Rx compensation (OD/OS)

Compensates the ordered Rx for pantoscopic tilt, wrap and vertex-distance change, treating power as the full dioptric power matrix throughout. Two engines: exact thin-lens (Harris turn-and-tilt) and a thick-lens chief-ray trace using the generalized Coddington equation (Esser et al.).

Inputs

Angles in degrees, distances in mm
Cylinder format: minus

Right eye (OD)

Left eye (OS)

Methodology

Power as a field. All computation is done on the 2×2 symmetric dioptric power matrix (equivalently the power vector (M, J0, J45)); sphere/cyl/axis appears only at input and output.

Thin-lens engine. The physical frame rotation (panto applied, then wrap; wrap mirrored between eyes) is decomposed into an equivalent lens turn ψ followed by a single tilt φ about an oblique meridian θ (Harris, Optom Vis Sci 2006;83:249–53). The tilted power is F = τF₀τ with τ = √(1 + (n*∕2n)sin²φ)·Rθ diag(1, sec φ) Rθ′ (Harris, Optom Vis Sci 2006;83:E693–6), inverted exactly for compensation. Vertex-distance change is a matrix vergence translation F(I + dF)⁻¹.

Thick-lens engine. The lens is built from the base curve, centre thickness and index, with a toric back surface carrying the ordered Rx; the whole lens is pivoted about its back vertex on the visual axis. The chief ray is traced exactly (3-D Snell) and the local wavefront is transferred at each surface with the generalized Coddington equation C′s′ = Cs + ν·s̄, ν = (n′cos ε′ − n cos ε)/(n′ − n) (Esser et al., J Opt Soc Am A 2010;27:218–37), which is exact at second order for arbitrary oblique incidence. The ordered Rx is found by Newton iteration so the as-worn effective power at the refraction vertex distance equals the refracted Rx. The back surface is represented by its osculating quadric (error ≪ 0.001 D at chief-ray offsets); higher-order aberrations, aspheric/atoric surfaces and off-axis gaze are not modelled.

Centration, prism and the version/vergence asymmetry. The centre-of-rotation (von Rohr) condition — lens optical axis through the eye’s centre of rotation — is applied in full in the vertical meridian, where it reduces to the familiar ≈0.5 mm of OC drop per degree of pantoscopic tilt. Symmetric vertical decentration displaces both images in the same direction: the oculomotor response is a conjugate version, which is well tolerated. The same condition applied in the horizontal meridian (temporal offsets under wrap) displaces the two images in opposite directions: the response is a disjunctive vergence, and fusional reserves at distance are only a few prism dioptres. The default strategy therefore keeps the horizontal OC at the visual point and lets the power compensation absorb the oblique incidence; the full CR figure and its per-eye prism cost are displayed for reference, and a bounded strategy caps the offset at a user-set prism budget. Prism is the exact traced chief-ray deviation at the visual point (thick engine) or generalized Prentice prism p = 100·F·c on the worn power matrix (thin engine). The binocular block separates the disjunctive (vergence) demand from the conjugate (version) component and flags vertical imbalance from anisometropia — the vertical OC drop is only “free” when the two powers are similar. The ~1Δ vertical and ~1.5Δ horizontal flags are conservative defaults; verify against published fusional-reserve norms (e.g. Morgan’s) for your population.

Conventions. Ordered cyl axis is expressed in the lens plane (lensmeter axis, TABO). Distance vision only. The significance flag compares the uncompensated as-worn error, as a power-vector distance, with the threshold set above; the default 0.12 D is a conservative figure — check against the tolerance standard applicable in your jurisdiction (e.g. ISO 21987).

Validation: the built-in suite reproduces the numerical examples in Harris 2006 and checks the Martin small-angle limits, the classical Coddington equations, axial thick-lens vertex powers and the compensation round trip on the current inputs.

Outputs

“Uncompensated” = ordering the refracted Rx unchanged; its error drives the significance flag.
Press Calculate.
© 2026 Grant D. Hannaford, AAOO.NET.AU · As-worn Rx compensation calculator v6.1.1 · Licensed CC BY-NC-ND 4.0 — share intact copies with attribution; no derivatives or commercial use. Commercial and derivative licensing available on request: grant@aaoo.net.au.
Cite as: Hannaford GD. As-worn Rx compensation calculator (version 6.1.1). AAOO.NET.AU; 2026.