fresnel_reflectance — 3D optics op

• Data kinds: measurement → measurement

• Call: import fullseye as fs; fs.ledger.fresnel_reflectance(cos_i, eta1=1.0, eta2=1.5) (to call the implementation directly, import match3d; match3d.fresnel_reflectance(cos_i, eta1=1.0, eta2=1.5); from the registry, ops3d.get("fresnel_reflectance"))

Usage

Fresnel reflectance (unpolarised = the s/p average). The share that splits into reflection and transmission at a transparent interface.

At normal incidence ((n1−n2)/(n1+n2))² (air→glass=0.04). Beyond the critical angle 1.0 (total internal reflection). For rendering/inspecting transparent bodies.

cos_i is the cosine of the angle of incidence (a real scalar; arrays and None raise ValueError). The sign is discarded (|cos_i|). eta1 is the refractive index of the incident side, eta2 that of the transmitted side. Returns the mean of s-polarisation rs and p-polarisation rp as a float ([0, 1]). At the Brewster angle rp = 0, but the mean does not become 0. cos_i = 0 (grazing incidence) gives 1.0. Transmittance is 1 − reflectance (no absorption).

Uses: weights of rays bent with refract, luminance prediction of transparent bodies.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

Runnable examples (verified samples that actually call this op)

• snell_refraction — py -3.11 examples_3d/snell_refraction.py

Ops the type connects to (they accept measurement as input)

vol_gaussian_psf · fuse_to_voxel · snell_angle

Same category (optics)

reflect · refract · normal_from_reflection · snell_angle


*Provenance: match3d.py — 3D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.