fit_line_3d — 3D geometry op

• Datenarten: points → primitive

• Aufruf: import fullseye as fs; fs.ledger.fit_line_3d(points) (die Implementierung direkt: import match3d; match3d.fit_line_3d(points); aus dem Register: ops3d.get("fit_line_3d"))

Verwendung

Punktmenge → eine Kleinste-Quadrate-Gerade (durch den Schwerpunkt, Richtung = größte Hauptachse). Liefert (point, direction).

Liefert den Schwerpunkt c einer (N,3)-Punktwolke (ValueError, wenn nicht numerisch mit 3 Spalten; unter 2 Punkten ebenfalls ValueError) und den Eigenvektor zum größten Eigenwert der Streumatrix (P−c)ᵀ(P−c) (die Gerade, die die Summe der quadrierten orthogonalen Abstände minimiert; keine Regression vom Typ z=f(x)). direction ist ein Einheitsvektor mit beliebigem Vorzeichen (abhängig von eigh; um die Richtung zu vereinheitlichen, nach dem Vorzeichen von (P[-1] − P[0]) @ direction umdrehen). Bei nur 2 Punkten die Gerade durch die 2 Punkte. Sind die Punkte flächig verteilt, ist die größte Achse nur "die längste Richtung" und nicht unbedingt eine Gerade (es wird kein Residuum zurückgegeben, daher mit distance_point_line prüfen). Empfindlich gegenüber Ausreißern (robust: ransac_line). Nur 3-D (2-D-Punkte ergeben ValueError).

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 · plane_from_3points · angle_3points · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_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.