I've been going crazy about a problem that I think it has no solution, since I found nothing on the Internet about it.
I would like to compute the tensor of inertia of a region. The region is the following:
coordinates = {{6.31, 4, 4.84}, {8.01, 2, 2.87}, {14.7, 7,
4.31}, {13.03, 9, 6.31}, {10, 4, 8}, {14, 2, 8}, {19, 7, 8}, {15,
9, 8}};
reg = Region[Hexahedron[coordinates]];
So it basically is a kind of distorted hexahedron.
I have no problem on obtaining its volume via:
Volume[reg]
or using:
RegionMoment[reg, {0, 0, 0}]
But I cannot compute any other geometrical property for this region. Nor using the specific command:
MomentOfInertia[reg]
Neither with:
RegionMoment[reg,{x1,x2,x3}]
In which "x1,x2,x3" is any number not equal to zero.
Is there a way to compute this inertia tensor or it is just impossible using the region?
coordinates
because your points that are supposed to form a face are not coplanar. For example, the first four points that make one face:CoplanarPoints[coordinates[[1 ;; 4]]]
givesFalse
. You cannot form a planar face of a polyhedron with vertices that do not lie on the same plane. Fix your coordinates, then everything should work as expected :) You can also see an error if you try discretizing your hexahedron:DiscretizeRegion[reg]
. $\endgroup$MomentOfInertia[ConvexHullRegion@reg]
wherereg = Hexahedron[coordinates];
$\endgroup$MomentOfInertia[ConvexHullRegion@coordinates]
$\endgroup$Volume
andRegionMoment
give a result when applied toreg
, even though they should have the same kind of ambiguity due to the points being non-planar. $\endgroup$