geometry op• Data kinds: points → primitive
• Call: import fullseye as fs; fs.ledger.plane_from_3points(a, b, c) (to call the implementation directly, import match3d; match3d.plane_from_3points(a, b, c); from the registry, ops3d.get("plane_from_3points"))
Three points → a plane (a point on it and a unit normal). Three coordinates fix the plane (2-D and 3-D alike).
> The detailed description below is the original text — the summary and the headings are translated.
返り値 `(a, n): a は 1 点目、n = (b−a)×(c−a)` を単位化したもの(向きは a→b→c の
右ねじ)。引数は数値の 2 または 3 ベクトル(それ以外・次元の混在は ValueError)。3 点が同一
直線上なら `n` は零ベクトルのまま返る(例外は出ない)。
2 次元の点を渡すと `np.cross がスカラー(符号つき面積の 2 倍)を返すので、n` はベクトルで
なく ±1 のスカラーになる。2-D で線の法線が欲しい場合は `line_from_2points` の方向を 90°
回して使うこと。
後段: `distance_point_plane / intersect_line_plane / intersect_planes` /
`angle_between_planes にこの (a, n) を渡す。点群からは fit_plane_3d`。
• 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
primitive as input)fuse_to_voxel · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line · distance_segment_segment
geometry)line_from_2points · angle_3points · angle_between_lines · 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.