geometry op• Data kinds: primitive → measurement
• Call: import fullseye as fs; fs.ledger.angle_between_lines(d1, d2) (to call the implementation directly, import match3d; match3d.angle_between_lines(d1, d2); from the registry, ops3d.get("angle_between_lines"))
The acute angle between two line directions (in degrees).
Returns arccos(|d̂1·d̂2|) in degrees (float). Because the absolute value is taken it lies in [0, 90] (forward/backward direction is not distinguished; if you need the obtuse side, take 180 −). d1, d2 are direction vectors (length does not matter, normalised internally), numeric 2- or 3-vectors; mixed dimensions raise ValueError. A zero vector returns 90.
Uses: parallelism and perpendicularity checks between directions of fit_line_3d / line_from_2points (the closer to 0, the more parallel; the closer to 90, the more orthogonal).
• 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_planes · 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.