Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument / verified-clean

Field of View Calculator (Sensor + Focal Length)

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: VERIFIED_CLEANLifecycle: verified-clean

Inspectable records

Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Area
Audio, Music, Photography & Color
Tranche
tranche-4
Evidence ID
t4-181
Ledger rows
1

No ledger note is attached.

Review findings

The core geometric formulas are standard after adding the explicit radians-to-degrees conversion and diagonal calculation. Final approval requires the exact preset dimension table, explicit positive-input constraints, and an honest label stating that 35mm equivalence uses the approximate 43.3 mm reference diagonal.

Formula and scope findings

  • The AOV formula is mathematically correct in radians, but the specification claims degree outputs without explicitly applying the radians-to-degrees conversion: AOV_degrees=2*atan(sensorDim/(2*f))*180/pi.
  • The diagonal AOV requires sensorDiagonal=sqrt(sensorWidth^2+sensorHeight^2), but that required step is not stated.
  • The 35mm-equivalent formula is valid only when 43.3 mm is intentionally used as the approximate 35mm image-circle diagonal; the exact full-frame diagonal is approximately 43.27 mm.

Unit assumptions

  • Sensor width, sensor height, focal length, and sensor diagonal must all use the same linear unit, conventionally millimeters.
  • atan returns radians, so AOV values require multiplication by 180/pi to be reported in degrees.
  • The 43.3 constant is in millimeters and represents an approximate 35mm-frame diagonal.
  • Preset dimensions must be explicitly defined; APS-C and medium-format dimensions vary by manufacturer and format.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

The zero-diagonal input causes the equivalent-focal-length calculation to divide by zero. The zero-width boundary also produces mathematically finite but physically invalid output, and a negative focal length yields signed negative AOVs unless explicitly rejected or normalized.

Errata and corrections

No applied erratum is attached to this unique-name record.

Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

{
  "inputs": {
    "sensor_width_mm": 36,
    "sensor_height_mm": 24,
    "focal_length_mm": 50
  },
  "expected_outputs": {
    "horizontal_aov_deg": 39.6,
    "vertical_aov_deg": 26.99,
    "diagonal_aov_deg": 46.79,
    "equivalent_focal_length_mm": 50.04
  },
  "working": "Diagonal=sqrt(36^2+24^2)=sqrt(1872)=43.2666 mm. Horizontal=2*atan(36/(2*50))*180/pi=2*atan(0.36)*180/pi=2*0.34556*57.2958=39.60 degrees. Vertical=2*atan(24/100)*180/pi=2*atan(0.24)*57.2958=2*0.23554*57.2958=26.99 degrees. Diagonal=2*atan(43.2666/100)*57.2958=2*atan(0.432666)*57.2958=46.79 degrees. Equivalent=50*(43.3/43.2666)=50.04 mm."
}

Related workflows

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json · VERIFIED_CLEAN
  • evidence-tranche4/tranche4-results.json
  • BOUNDARY_HAZARD_CATALOG.json