plane_from_3points — 3D geometry op

Data kinds: pointsprimitive

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"))

Usage

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`。

References (sample data, literature)

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

Runnable examples (verified samples that actually call this op)

geometry_metrologypy -3.11 examples_3d/geometry_metrology.py

Ops the type connects to (they accept 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

Same category (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.