plane_from_3points — 3D geometry op

• Datenarten: points → primitive

• Aufruf: import fullseye as fs; fs.ledger.plane_from_3points(a, b, c) (die Implementierung direkt: import match3d; match3d.plane_from_3points(a, b, c); aus dem Register: ops3d.get("plane_from_3points"))

Verwendung

Drei Punkte → eine Ebene (Punkt darauf und Einheitsnormale). Drei Koordinaten legen die Ebene fest (2-D wie 3-D).

Rückgabewert (a, n): a ist der 1. Punkt, n ist n = (b−a)×(c−a) normiert (Richtung nach der Rechtsschraube von a→b→c). Die Argumente sind numerische 2- oder 3-Vektoren (alles andere oder gemischte Dimensionen lösen ValueError aus). Liegen die 3 Punkte auf einer Geraden, wird n als Nullvektor zurückgegeben (keine Exception). Werden 2-dimensionale Punkte übergeben, liefert np.cross einen Skalar (das 2-fache der vorzeichenbehafteten Fläche), daher ist n kein Vektor, sondern ein Skalar ±1. Wird in 2-D die Normale einer Geraden benötigt, die Richtung von line_from_2points um 90° drehen und diese verwenden.

Nachgelagert: dieses (a, n) an distance_point_plane / intersect_line_plane / intersect_planes / angle_between_planes übergeben. Aus einer Punktwolke fit_plane_3d verwenden.

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• geometry_metrology — py -3.11 examples_3d/geometry_metrology.py

Typkompatible Folge-Operatoren (nehmen primitive als Eingabe)

fuse_to_voxel · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line · distance_segment_segment

Gleiche Kategorie (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. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.