inertia_tensor — 3D moment_invariant op

• Data kinds: points → matrix

• Call: import fullseye as fs; fs.ledger.inertia_tensor(points) -> 'np.ndarray' (implementation को सीधे call करना हो तो import moments3d; moments3d.inertia_tensor(points) -> 'np.ndarray', registry से लेना हो तो ops3d.get("inertia_tensor"))

उपयोग

point cloud का inertia tensor (3,3) (central 2nd-order moments से, समान mass, कुल mass 1)।

I_xx = mean(y²+z²), I_yy = mean(x²+z²), I_zz = mean(x²+y²), I_xy = -mean(xy), I_xz = -mean(xz), I_yz = -mean(yz)। covariance C से यह I = tr(C)·E₃ − C (E₃ identity matrix है) के बराबर है। symmetric और positive semi-definite। centroid centring के कारण translation invariant।

Returns

np.ndarray, shape (3, 3)

symmetric inertia tensor।

अतिरिक्त:

• इकाई लंबाई² है (points को mass 1 वाले equal-mass points माना जाता है, इसलिए density शामिल नहीं)। point cloud को rotation से घुमाने पर यह R I Rᵀ बनता है; eigenvalues (principal_moments) rotation invariants हैं और eigenvectors principal axes (moment_axes)।

• input (N,3), N >= 1 (1 point पर zero matrix)। ग़लत shape या non-finite मान पर ValueError।

• covariance C से संबंध I = tr(C)·E₃ - C है; C और I के eigenvectors समान हैं, और eigenvalues tr(C) - c_i हैं।

• ये solid (volume) के नहीं बल्कि sample points के moments हैं, इसलिए एक ही आकार में भी point density के bias से मान बदलते हैं। density बराबर करने के लिए पहले voxel_grid_downsample। Deterministic।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• moment_invariants — py -3.11 examples_3d/moment_invariants.py

वे अगले ops जिनसे type जुड़ता है (matrix को input के रूप में लेते हैं)

fuse_to_voxel

इसी category के (moment_invariant)

moment_invariants · principal_moments · central_moments


*Provenance: moments3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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