geometry op• Data kinds: primitive → measurement
• Call: import fullseye as fs; fs.ledger.angle_between_planes(n1, n2) (to call the implementation directly, import match3d; match3d.angle_between_planes(n1, n2); from the registry, ops3d.get("angle_between_planes"))
The dihedral angle between two planes (normals n1, n2; in degrees).
Returns the angle between the normals arccos(|n̂1·n̂2|) in degrees (float). Because the absolute value is taken it is the acute side in [0, 90] (independent of the normal orientation; if you need the obtuse side, 180 −). 0 = parallel, 90 = orthogonal. n1, n2 are numeric 2- or 3-vectors (length does not matter); mixed dimensions raise ValueError. A zero vector returns 90.
Uses: parallelism and perpendicularity of 2 planes obtained by fit_plane_3d / hough_plane_3d, the parallel check before intersect_planes.
• 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.
• geometry_metrology — py -3.11 examples_3d/geometry_metrology.py
measurement as input)vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle
geometry)line_from_2points · plane_from_3points · angle_3points · angle_between_lines · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line
*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.