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$
1
  • $\begingroup$ I tried using RegionCentroid, but I have not yet succeeded $\endgroup$
    – LCarvalho
    May 19, 2017 at 16:59

1 Answer 1

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 and acknowledge that you have read and understand our privacy policy and code of conduct.

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