#StackBounty: #tikz-pgf #tkz-euclide Draw a balanced fulcrum with cylinder, pyramid and sphere

Bounty: 50

I have been drawn the following figure, showing that the sphere with radius R and cone with base radius 2R and height 2R, away from the pivot with distance 2R, is rotational equilibrium with cylinder that has base radius and height of 2R.

enter image description here

The lengths are indicated in the figure above, and the red dots represent the centre of masses of the objects.

This is the MWE:

documentclass[parskip]{scrartcl}
usepackage[margin=15mm]{geometry}
usepackage{tikz}
usepackage{tkz-euclide}
usetikzlibrary{3d,calc}
usetikzlibrary{shapes.geometric}

begin{document}

begin{tikzpicture}
    %Wall
    draw [fill,pattern=north east lines,draw=none] (-3,3) rectangle (3,3.25);
    draw (-3,3)--(3,3);
    
    %Segment
    draw[|<->|]  (-2,2.45) -- (0.67,2.45) node[midway,fill=white] {$2R$};
    draw[|<->|]  (0.67,2.45) -- (2,2.45) node[midway,fill=white] {$R$};
    draw[|<->|]  (4,1) -- (4,-0.5) node[midway,fill=white] {$2R$};
    draw[|<->|]  (-0.5,1) -- (-0.5,-1) node[midway,fill=white] {$2R$};
    draw[|<->|]  (-0.5,-2) -- (-0.5,-4) node[midway,fill=white] {$2R$};
    draw[|<->|]  (4,1) -- (4,-0.5) node[midway,fill=white] {$2R$};
    draw[|<->|]  (1,1.25) -- (2,1.25) node[midway,fill=white] {$R$};
    draw[|<->|]  (3,1.25) -- (2,1.25) node[midway,fill=white] {$R$};
    
    %Fulcrum
    draw[thick, fill=yellow, yellow] (-2.01,2) rectangle (2.01,2.25);
    
    %Lines hanging objects
    draw[thick] (-2,2)--(-2,1)  (0.67,2.25)--(0.67,3) (-2,-1)--(-2,-2) (2,1)--(2,2);
    
    %Sphere
    draw (-3,0) arc (180:360:1cm and 0.5cm);
    draw[dashed] (-3,0) arc (180:0:1cm and 0.5cm);
    draw (-2,1) arc (90:270:0.5cm and 1cm);
    draw[dashed] (-2,1) arc (90:-90:0.5cm and 1cm);
    draw (-2,0) circle (1cm);
    shade[ball color=blue!10!white,opacity=0.20] (-2,0) circle (1cm);
    tkzDefPoint(-2,0){A} 
    tkzDrawPoints[color=red, fill=red](A)
    
    %Cone
    draw (-3,-4) arc (180:360:1cm and 0.5cm) -- (-2,-2) -- cycle;
    draw[dashed] (-3,-4) arc (180:0:1cm and 0.5cm);
    shade[left color=blue!5!white,right color=blue!40!white,opacity=0.3] (-3,-4) arc (180:360:1cm and 0.5cm) -- (-2,-2) -- cycle;
    draw (-2,-4)--(-1,-4);
    node at (-1.5,-3.7) {$2R$};
     tkzDefPoint(-2,-3){B} 
    tkzDrawPoints[color=red, fill=red](B)
    
    %Cylinder
    draw (1,1) arc (90:270:0.75cm and 1.5cm);
    draw[dashed] (1,1) arc (90:-90:0.75cm and 1.5cm);
    draw (3,1) arc (90:270:0.75cm and 1.5cm);
    draw (3,1) arc (90:-90:0.75cm and 1.5cm);
    draw (1,1)--(3,1) (1,-2)--(3,-2);
    shade[left color=green!5!white,right color=green!40!white,opacity=0.3] (1,1) arc (90:270:0.75cm and 1.5cm)--(1,-2)--(3,-2)--(3,-2) arc (-90:90:0.75cm and 1.5cm)--cycle;
    tkzDefPoint(2,-0.5){C} 
    tkzDrawPoints[color=red, fill=red](C)
    
    
end{tikzpicture}

end{document}

On the other hand, I would like to take infinitesimal thickness of Δx, away with distance x (in blue) as shown in below:

enter image description here

It seems there would be hard to take the infinitesimal thickness of Δx for sphere since it is hard to calculate the height of a small portion explicitly. Is there any ways to draw it nicely?


Get this bounty!!!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.