line_from_2points — 3D geometry op

• Datenarten: points → primitive

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

Verwendung

Zwei Punkte → eine Gerade (Punkt darauf und Einheitsrichtung). Zwei Koordinaten legen die Gerade fest (2-D wie 3-D).

Rückgabewert (a, u): a ist der 1. Eingabepunkt (float-Array), u = (b − a)/|b − a|. Die Argumente sind numerische 2- oder 3-Vektoren (alles andere oder gemischte Dimensionen lösen ValueError aus). Bei a == b wird die Richtung als Nullvektor zurückgegeben (keine Exception; beim Aufrufer |u| > 0 prüfen). Die Reihenfolge der Koordinaten spielt keine Rolle (sie wird in der Eingabe- reihenfolge zurückgegeben), daher ist (x,y,z) oder (z,y,x) in Ordnung, solange es konsistent ist.

Nachgelagert: dieses (a, u) an distance_point_line / distance_line_line / intersect_line_plane / angle_between_lines übergeben. Für eine Gerade aus einer Punktwolke fit_line_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)

plane_from_3points · 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.