principal_moments — 3D moment_invariant op

• Datenarten: points → descriptor

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

Verwendung

Die Eigenwerte des Trägheitstensors (die Hauptträgheitsmomente, absteigend sortiert, rotationsinvariant).

Der Trägheitstensor ist symmetrisch, daher sind die Eigenwerte reell. Dreht man die Punktwolke mit R, wird I → R I Rᵀ ähnlichkeitstransformiert, und die Eigenwerte sind invariant (exakt). Die Rückgabe ist absteigend sortiert und stimmt daher unabhängig von Koordinatensystem und Rotation überein.

Returns

np.ndarray, shape (3,)

Hauptträgheitsmomente in absteigender Reihenfolge λ1 >= λ2 >= λ3 >= 0.

Ergänzungen:

• Dies sind die Eigenwerte von inertia_tensor; mit den Kovarianzeigenwerten c_i gilt λ_i = (c_1 + c_2 + c_3) - c_i. Bei einem langen dünnen Stab geht der kleinste Eigenwert (um die Stabachse) gegen 0, bei einer Kugel sind alle 3 gleich.

• Einheit ist Länge². Invariant gegenüber Translation und Rotation, aber nicht skaleninvariant (bei s-facher Skala s²-fach). Für Skaleninvarianz moment_invariants verwenden.

• Eingabe ist (N,3), N >= 1 (bei 1 Punkt alles 0). Ungültige Form oder nicht endliche Werte lösen ValueError aus.

• Für die Hauptachsenvektoren (Eigenvektoren) moment_axes verwenden. Deterministisch.

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)

• shape_desc_pose — py -3.11 examples_3d/shape_desc_pose.py

Typkompatible Folge-Operatoren (nehmen descriptor als Eingabe)

fuse_to_voxel · shape_distance

Gleiche Kategorie (moment_invariant)

moment_invariants · central_moments · inertia_tensor


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