Source: https://guthlabs.ai/docs/instruments/field-of-view-calculator-sensor-focal-length/mechanism/

instrument mechanism / verified-clean

# Field of View Calculator (Sensor + Focal Length) mechanism

The inspectable method record for Field of View Calculator (Sensor + Focal Length), kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

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.

- 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.

## Units and conventions

- 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.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "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."
}
````

## Failure boundary

**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.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/field-of-view-calculator-sensor-focal-length/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/field-of-view-calculator-sensor-focal-length/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/field-of-view-calculator-sensor-focal-length/qualification/>)

## Sources and evidence

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

- `VERIFIED_LEDGER.json`

- `evidence-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
