Procedural way of finding (all) the positions of stability for solid objects with arbitrary shapes

47 Views Asked by At

I want to find all the positions in which a solid object with a capricious shape is stable over a flat surface (under gravity). Is there a mathematical/procedural way of approaching this problem?

1

There are 1 best solutions below

3
On BEST ANSWER
  1. You start by determining the position of centre of mass $O$: $\mathbf r_O=V^{-1}\int_V\mathbf r\,dV$
  2. You calculate the convex hull $C$ of the shape.
  3. Then you check all the flat faces of the convex hull. If a projection of $O$ onto the plane of the face falls inside the face, the shape will be stable when staying on it.
  4. For every other point $A$ of the $C$ that do not belong to flat faces, you calculate the normal line $n_a$ that pass through $A$ and is orthogonal to the tangent plane. If line $n_a$ passes through $O$, you mark point $A$ as a candidate.
  5. For each candidate $A$, you calculate the height $h=OA$ and two principal curvature radii: $R_1$ and $R_2$. If $h<\min(R_1, R_2)$, then the shape will be stable staying on $A$; if $h>\min(R_1, R_2)$, then point $A$ is unstable

Bonus. If $h=\min(R_1, R_2)$, you need to consider higher derivatives of the surface, but that's rarely the case.