MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Balance point of a solid

  • To: mathgroup at
  • Subject: [mg113559] Re: Balance point of a solid
  • From: Andreas <aagas at>
  • Date: Tue, 2 Nov 2010 05:03:24 -0500 (EST)
  • References: <iam332$jvn$>

HI all,

Not certain if the following will show up in the forum, but I had to
acknowledge a great solution I received from Daniel Lichtblau.

"Seems plausible to do this way. Suppose it were not the projection of
the center of mass (that is, it teeters in some direction). Then there
would be a slicing plane perp to the face you are balancing, and
through the center of mass, such that more mass would lie on one side
(to wit, in the "falling" direction) than the other. This would
contradict that point having been the center of mass. If I'm doing
physics correctly today, which is iffy on a good day.

In your case you only need (x,y) coordinates of the center of mass,
because the projection simply removes z. Here is an example with
{h1,h2,h3} set to {1,2,3} respectively.

pts = {{0, 0, h1}, {1/2, Sqrt[2]/2, h2}, {1, 0, h3}};
normal = Cross[pts[[1]] - pts[[2]], pts[[1]] - pts[[3]]];
topplane = ({x, y, z} - pts[[1]]).normal >= 0;

bounds = {z >= 0, y >= 0, y - Sqrt[3]*x <= 0,
  y + Sqrt[3] (x - 1) <= 0, topplane};

reprule = Thread[{h1, h2, h3} -> {1, 2, 3}];

Can plot it like this.

And @@ bounds /. reprule, {x, 0, 1.1}, {y, 0, 1.5}, {z, 0, 3.5},
PlotPoints -> 60]

We compute the total mass (assuming uniform distribution of mass).

In[63]:= mass =
 Boole[And @@ bounds] /. reprule, {x, 0, 1}, {y, 0, Sqrt[3]/2}, {z,
  0, 3}]
Out[63]= Sqrt[3]/2

Now find the {x,y} coordinates of the center of mass.

In[66]:= cmass =
Integrate[{x, y}*Boole[And @@ bounds] /. reprule, {x, 0, 1}, {y, 0,
   Sqrt[3]/2}, {z, 0, 3}]/mass
Out[66]= {13/24, 1/(2 Sqrt[3])}

In[67]:= N[cmass]
Out[67]= {0.541667, 0.288675}

Not a proof of correctness, but this seems like a plausible result.

Daniel Lichtblau
Wolfram Research

Now I need to extend this solution to 4 and 5 dimensions.  Take the
idea of the solid I described in my original post and extend it and
the integration to 4, 5, or better yet n dimensions.  Not certain it's
possible.  Any thoughts or ways to approach this problem appreciated.


...and again thanks to Daniel.

  • Prev by Date: Re: NDSolve and hybrid dynamics (Differential Algebraic Equation DAE)
  • Next by Date: Re: is there an 'issue' with putting Notation[] command inside a Module[]?
  • Previous by thread: Re: Output x^-1
  • Next by thread: Re: Balance point of a solid