principal_moments — 3D moment_invariant op

• 資料種類:points → descriptor

• 呼叫: import fullseye as fs; fs.ledger.principal_moments(points) -> 'np.ndarray'(要直接呼叫實作,import moments3d; moments3d.principal_moments(points) -> 'np.ndarray';從台帳取用則 ops3d.get("principal_moments"))

用法

慣性張量的特徵值(主慣性矩,降冪排列,旋轉不變)。

慣性張量是對稱的,因此特徵值為實數。將點雲以旋轉 R 旋轉時,I → R I Rᵀ 做相似變換,特徵值不變(嚴格)。回傳值按降冪排列,因此與座標系和旋轉無關地一致。

Returns

np.ndarray, shape (3,)

降冪的主慣性矩 λ1 >= λ2 >= λ3 >= 0。

補充:

• 是 inertia_tensor 的特徵值,與共變異數的特徵值 c_i 的關係為 λ_i = (c_1 + c_2 + c_3) - c_i。細長的棒最小特徵值(繞棒軸)趨近 0,球的 3 個相等。

• 單位為長度²。對平移和旋轉不變,但不具有尺度不變性(s 倍時為 s² 倍)。需要尺度不變時用 moment_invariants。

• 輸入為 (N,3),N >= 1(1 個點時全部為 0)。形狀不正確、非有限時 ValueError。

• 需要主軸向量(特徵向量)時用 moment_axes。決定性。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• shape_desc_pose — py -3.11 examples_3d/shape_desc_pose.py

型別可銜接的下一個運算子(可接受 descriptor 作為輸入)

fuse_to_voxel · shape_distance

同類別(moment_invariant)

moment_invariants · central_moments · inertia_tensor


*Provenance: moments3d.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.