bounds op• Datenarten: points → primitive
• Aufruf: import fullseye as fs; fs.ledger.obb(points) -> 'dict' (die Implementierung direkt: import pcseg; pcseg.obb(points) -> 'dict'; aus dem Register: ops3d.get("obb"))
Orientierte Bounding Box per PCA.
Liefert {center, axes (3,3 columns = box axes), extents (3, half-widths), corners (8,3)}. Die eng anliegende Box, mit der ein Manipulator nach der Segmentierung eines Objekts dessen Größe und Greifbreite abschätzt.
Vorgehen: Aus der SVD (full_matrices=False) der um den Schwerpunkt c verschobenen Punktwolke die Hauptachsen axes (Spalten = Singulärwerte absteigend, die 1. Spalte ist die Richtung der größten Streuung) bestimmen, die Punkte in Hauptachsenkoordinaten abbilden und aus min/max je Achse die Halbbreiten extents und den Boxmittelpunkt center (im Allgemeinen verschieden vom Schwerpunkt) ermitteln. corners sind die 8 Punkte center + (±extents) @ axes.T, die Vorzeichenkombinationen in der Reihenfolge von meshgrid([-1,1],[-1,1],[-1,1]).
• points: alles außer (N,3) ergibt ValueError, weniger als 2 Punkte ebenfalls ValueError.
• PCA-Hauptachsen garantieren keine "Box minimalen Volumens" (sie folgen nur der Punktverteilung). Die Vorzeichen der Hauptachsen werden durch die Willkür der SVD bestimmt, und ist die Punktverteilung nahezu isotrop (Singulärwerte entartet), werden die Achsrichtungen instabil.
• extents sind Halbbreiten, die Kantenlängen also 2 * extents. Die Einheit ist die Koordinateneinheit.
• blender_interop — Zusammen mit Blender — Form bauen, mit fullseye messen (Fallstricke: Achsen, Einheiten, Referenzdaten)
• 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.
• hull_bounds — py -3.11 examples_3d/hull_bounds.py
primitive als Eingabe)fuse_to_voxel · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line · distance_segment_segment
bounds)convex_hull · aabb · min_enclosing_sphere
*Provenance: pcseg.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.