MATLAB Answers

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

83 views (last 30 days)
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?

  0 Comments

Sign in to comment.

Accepted Answer

Anton Semechko
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

  2 Comments

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

Sign in to comment.

More Answers (1)

Image Analyst
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.

  2 Comments

Ricardo Vega Ayora
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
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).

Sign in to comment.

Sign in to answer this question.

Products


Release

R2018a