# How to calculate the moment of inertia of a convex hull?

83 views (last 30 days)
Ricardo Vega Ayora on 24 Jun 2018
Commented: Image Analyst on 25 Jun 2018
I want to calculate the moment of inertia of the convex hull that surrounds points in a 3D space. Assuming, of course, that the mass and/or the density of the volume are known. I've seen the convhull function and the code by Michael Kleder to calculate the hull's volume and centroid, but how can I get the inertia matrix/tensor?
Additionally, I've ported the C code by Brian Mirtich into matlab, but it requires that the vertices of the faces to be ordered in a counterclock-wise direction. Is there a way to be independent form the clockwise or counterclock-wise faces?

Anton Semechko on 24 Jun 2018
Here is a link to a function on FEX that computes inertia tensors of objects represented by triangular surface meshes: https://www.mathworks.com/matlabcentral/fileexchange/48913-compute-exact-rigid-body-parameters-of-objects-represented-by-triangular-surface-meshes

Ricardo Vega Ayora on 25 Jun 2018
Thanks! I've seen that it is actually your code, so great work!
Anton Semechko on 25 Jun 2018
No worries. Let me know if you have any problems using this function with your meshes.

Image Analyst on 25 Jun 2018
For what it's worth, attached is my image moments demo. It's only 2-D though, not 3-D, but I think adapting it would be easy.

Ricardo Vega Ayora on 25 Jun 2018
Given that you are working with pixels and not with position vectors for the points, how accurate is your method? Does it depend much on the image's resolution?
Image Analyst on 25 Jun 2018
Yes. It's a numerical solution, not an analytical one, so it will depend on the quantization (image resolution).