boundary_vertices — 3D mesh_process op

• Datenarten: mesh → indices

• Aufruf: import fullseye as fs; fs.ledger.boundary_vertices(mesh) -> 'np.ndarray' (die Implementierung direkt: import mesh_props; mesh_props.boundary_vertices(mesh) -> 'np.ndarray'; aus dem Register: ops3d.get("boundary_vertices"))

Verwendung

Indizes der Vertices, die auf offenen Kanten (dem Rand) liegen → (K,).

Sammelt die Endpunkte der ungerichteten Kanten, die von genau 1 Fläche verwendet werden (Randkanten), und gibt sie zurück. Bei einer geschlossenen Mannigfaltigkeit ist das ein leeres Array -- d. h. len(boundary_vertices(mesh)) == 0 dient als Test auf Wasserdichtheit (watertight). Lochfüllen, Volumenberechnung und Krümmung ändern alle ihre Bedeutung je nachdem, ob ein Rand existiert; deshalb hier zuerst nachsehen.

Args:

mesh: Tupel aus (vertices (N,3), faces (M,3)).

Returns:

(K,) int64, aufsteigend und ohne Duplikate. Ohne Rand shape == (0,).

Raises:

ValueError: wenn mesh nicht die 2 Elemente (vertices, faces) sind, die Form ungültig ist,

Koordinaten nicht endlich sind, ein Index nicht ganzzahlig oder außerhalb des Bereichs ist oder es leer ist.

Grenze (honest): Zurückgegeben wird eine Menge von Ecken, keine Randschleife (in Umlaufreihenfolge). Auch bei mehreren Löchern landet alles in 1 Array; wer nach Löchern trennen will, muss die Zusammenhangskomponenten selbst verfolgen (ein Op zur Schleifenextraktion gibt es noch nicht). Nicht-mannigfaltige Kanten, die sich 3 oder mehr Flächen teilen, erscheinen hier nicht (siehe non_manifold_edges von mesh_edge_stats).

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• blender_interop — Zusammen mit Blender — Form bauen, mit fullseye messen (Fallstricke: Achsen, Einheiten, Referenzdaten)

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)

• mesh_decimate — py -3.11 examples_3d/mesh_decimate.py

• mesh_props — py -3.11 examples_3d/mesh_props.py

Typkompatible Folge-Operatoren (nehmen indices als Eingabe)

fuse_to_voxel

Gleiche Kategorie (mesh_process)

laplacian_smooth · taubin_smooth · decimate_qem · face_normals · vertex_normals · mesh_area · vertex_curvature · face_areas


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