geodesic_mesh — 3D geodesic op

• Datenarten: mesh → signal

• Aufruf: import fullseye as fs; fs.ledger.geodesic_mesh(vertices: numpy.ndarray, faces: numpy.ndarray, source: int) -> numpy.ndarray (die Implementierung direkt: import geodesic3d; geodesic3d.geodesic_mesh(vertices: numpy.ndarray, faces: numpy.ndarray, source: int) -> numpy.ndarray; aus dem Register: ops3d.get("geodesic_mesh"))

Verwendung

Geodätische Distanz von einer Quelle zu jedem Vertex per Dijkstra auf dem Kantengraphen des Dreiecksnetzes. → (V,) float.

Sammelt die 3 Kanten (0,1),(1,2),(2,0) jedes Dreiecks als ungerichtete Kanten, macht sie über (min,max) eindeutig, baut einen dünn besetzten Graphen mit Kantenlänge = Euclid-Abstand der beiden End- punkte als Gewicht und liefert mit dijkstra(directed=False) die kürzesten Weglängen ab source. d[source] = 0; Knoten, die nicht über Kanten mit source verbunden sind, sind inf. Die Einheit ist die der Knotenkoordinaten.

• vertices: (V,3)-Knotenkoordinaten (in float64 umgewandelt). faces: (M,3)-Knotenindizes (in int umgewandelt).

• source: Index des Startknotens.

• Ist faces leer, wird für alle Knoten inf geliefert (nur bei source 0, falls im Bereich), ohne Ausnahme.

Implementierungshinweise: csr_matrix addiert stillschweigend die Gewichte, wenn dasselbe (i,j) mehrfach übergeben wird; daher werden die Kanten eindeutig gemacht, damit die Abstände bei Meshes mit doppelten Flächen, nicht-mannigfaltigen Stellen oder uneinheitlicher Umlaufrichtung nicht aufgebläht werden. Entartete Kanten (i==j) werden verworfen. Der Abstand ist eine Polygonzuglänge entlang der Kanten, daher ist er auf groben Meshes länger als der wahre geodätische Abstand (Anisotropie, die vom Verlauf der Kanten abhängt). Die von voxel_to_mesh oder convex_hull gelieferten (verts, faces) können direkt übergeben werden.

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)

• pcl_geodesic — py -3.11 examples_3d/pcl_geodesic.py

Typkompatible Folge-Operatoren (nehmen signal als Eingabe)

fuse_to_voxel

Gleiche Kategorie (geodesic)

geodesic_distances · farthest_point_sampling · knn_graph


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