fit_spline_curve — 3D curve op

• Datenarten: points → points

• Aufruf: import fullseye as fs; fs.ledger.fit_spline_curve(points, smooth=0.0, k=3, n=None) (die Implementierung direkt: import curve3d; curve3d.fit_spline_curve(points, smooth=0.0, k=3, n=None); aus dem Register: ops3d.get("fit_spline_curve"))

Verwendung

Glättet und resampelt eine geordnete 3-D-Punktfolge mit einem B-Spline. → (M,3). Zum Glätten verrauschter Trajektorien und Kanten.

scipy.interpolate.splprep/splev. smooth=0 interpoliert, >0 glättet. n = Anzahl der Ausgabepunkte (Standard = Anzahl der Eingaben).

Passt mit splprep([x, y, z], s=smooth, k=k) einen parametrischen B-Spline an (Parameter u∈[0,1], scipys Standard-Sehnenlängenparametrisierung), wertet ihn mit splev bei u = linspace(0, 1, n) aus und gibt (n,3) float64 zurück. Da u äquidistant ist, sind die Ausgabepunkte in der Bogenlänge nicht streng äquidistant (wird Bogenlängen-Äquidistanz benötigt, das Ergebnis durch resample_uniform schicken).

• smooth: scipys Glättungsbedingung s. Angepasst wird mit den wenigsten Knoten, bei denen die Residuenquadratsumme höchstens s ist. 0 bedeutet Interpolation durch alle Punkte, größer ist glatter (Einheit: Koordinate zum Quadrat).

• k: Spline-Grad (Standard 3). Ist die Punktzahl N höchstens k, ValueError.

• n: Anzahl der Ausgabepunkte. None bedeutet die Eingabepunktzahl.

• Vorausgesetzt wird ein nach Index geordnetes (N,3); außer der Punktzahl gibt es keine Formprüfung.

Dient als Vorstufe, um verrauschte Kantenpunktfolgen oder Trajektorien zu glätten, bevor sie an curvature_torsion / frenet_frame übergeben werden. Um tck mitzuführen: fit_bspline_curve / eval_bspline_curve.

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)

• bspline_freeform — py -3.11 examples_3d/bspline_freeform.py

Typkompatible Folge-Operatoren (nehmen points als Eingabe)

points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d

Gleiche Kategorie (curve)

curvature_torsion · frenet_frame · arc_length · resample_uniform


*Provenance: curve3d.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.