curve op• Datenarten: points → measurement
• Aufruf: import fullseye as fs; fs.ledger.arc_length(curve) (die Implementierung direkt: import curve3d; curve3d.arc_length(curve); aus dem Register: ops3d.get("arc_length"))
• Rückgabewert über das Register: fullseye.ledger.arc_length(...) liefert nur den Wert des deklarierten Out-Typs measurement (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.arc_length.raw(...) oder rufe curve3d.arc_length direkt auf.
• Rückgabe der Funktion: (cumulative, total) → 全長 float
Die kumulierte Bogenlänge einer Kurve und ihre Gesamtlänge. → (cumulative (N,), total float).
Behandelt die geordnete Punktfolge curve (N,3) in Index-Reihenfolge als Polylinie und summiert die euklidischen Abstände zwischen benachbarten Punkten auf. cumulative[0]=0, cumulative[i] = Polylinienlänge vom Anfang bis zum i-ten Punkt, total = cumulative[-1]. Die Einheit ist dieselbe wie die der Koordinaten.
• Die Eingabe wird nur in float umgewandelt, eine Formprüfung gibt es nicht (auch bei einer Spaltenzahl ungleich 3 läuft die Berechnung durch).
• Bei N=1 gilt cumulative=[0.0] und total=0.0. Auch bei einer geschlossenen Kurve wird der Abschnitt Endpunkt→Startpunkt nicht gezählt (zum Schließen den ersten Punkt vorher ans Ende duplizieren und dann übergeben).
• Doppelte Punkte (Abschnitte mit Abstand 0) werden unverändert als 0 aufsummiert, daher ist cumulative monoton nicht fallend, aber nicht streng steigend.
resample_uniform interpoliert linear mit dieser kumulativen Bogenlänge als Parameter. Das ds bei der Kombination mit curvature_torsion, etwa für Bogenlängenintegrale der Krümmung, wird aus diesen Differenzen genommen.
• 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.
• space_curve — py -3.11 examples_3d/space_curve.py
• torus_knot_curve — py -3.11 examples_3d/torus_knot_curve.py
measurement als Eingabe)vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle
curve)curvature_torsion · frenet_frame · resample_uniform · fit_spline_curve
*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.