curvature op• Datenarten: points → signal
• Aufruf: import fullseye as fs; fs.ledger.mean_curvature(points, k=25, normals=None) (die Implementierung direkt: import curvature3d; curvature3d.mean_curvature(points, k=25, normals=None); aus dem Register: ops3d.get("mean_curvature"))
Mittlere Krümmung H = (k1+k2)/2. → (N,). Eine orientierungsabhängige Größe.
normals (orientierte Referenznormalen, (N,3)): ohne Angabe wird eine Heuristik der konvexen Seite verwendet (das Konkav/Konvex-Vorzeichen einer offenen Fläche ist unbestimmt). Werden orientierte Normalen übergeben, richtet sich das Ergebnis nach der globalen Orientierung und liefert das korrekte Vorzeichen.
Ergänzungen:
• Die Berechnung ist dieselbe wie bei principal_curvatures (PCA-Normale der k+1-Nachbarschaft + lokaler Quadrikfit) und liefert (k1 + k2) / 2. Einheit ist 1/Länge.
• Das Vorzeichen folgt der Konvention konvex = positiv und entspricht nur dann globalem Konkav/Konvex, wenn normals übergeben wird. Ohne Angabe liegt H einer offenen Fläche immer auf der konvexen Seite (entspricht dem Absolutwert).
• Punkte mit weniger als 5 Nachbarn erhalten 0. k wird auf N-1 gekürzt.
• Eine Kugel mit Radius R ergibt 1/R, ein Zylinder 1/(2R), eine Ebene 0. Ein Sattelpunkt (k1 = -k2) ergibt ebenfalls 0, aber gaussian_curvature ist dort negativ, sodass sich beide unterscheiden lassen.
• normals muss (N,3) mit endlichen, von null verschiedenen Zeilen sein (ValueError). Deterministisch.
• blas_threads_and_memory — Warum Matrixzerlegungen langsam sind — BLAS-Threads, Caches, Speicherlayout
• 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.
• curvature_shape_index — py -3.11 examples_3d/curvature_shape_index.py
• minimal_surfaces — py -3.11 examples_3d/minimal_surfaces.py
signal als Eingabe)curvature)principal_curvatures · gaussian_curvature · shape_index · estimate_normals
*Provenance: curvature3d.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.