3
$\begingroup$

I did a study in a CAD software (SolidWorks) to get the center of mass of a sphere that is cut at the bottom.

enter image description here

enter image description here

Using trigonometry I was able to obtain the ratio of the diameter cut under the sphere to the initial center of the sphere.

enter image description here

With the code below I make the values ​​valid:

ClearAll["Global`*"]
diametro = {0, 2, 4, 6, 8, 10};
h = N[Solve[5^2 == h^2 + (diametro[[#]]/2)^2, {h}]]&/@Range[Length[diametro]] /. Rule -> Set;
h = Take[h, All, {2}] // Flatten

Based on the equation of the figure below I obtained the values ​​of the centers of mass for each configuration of sphere:

enter image description here

r = 5; H = h + r y = (3 (2 r - H)^2)/(4 (3 r - H)) // N

The question is:

Is there a different way to get the center of mass through solids?

$\endgroup$
  • $\begingroup$ I tried using RegionCentroid, but I have not yet succeeded $\endgroup$ – LCarvalho May 19 '17 at 16:59
12
$\begingroup$

Define solid:

cutBall[r_, h_] := 
 RegionDifference[Ball[{0, 0, 0}, r], 
  HalfSpace[{0, 0, 1}, {0, 0, -h}]]

solids = cutBall[r, #] & /@ h;

GraphicsRow[
 BoundaryDiscretizeRegion[#, ViewPoint -> Front] & /@ solids]

enter image description here

Compute centroid (we only need z-axis value):

RegionCentroid[#][[3]] & /@ solids

{0., 0.00150046, 0.0241226, 0.125, 0.428572, 1.875}

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.