Anonymous 13837
How can I draw this picture with TikZ in 3D?

Top Answer
Jasper Habicht
I would not use any 3D libraries or packages for this. You can just draw circles, ellipses or arcs and lines as these two drawings are relatively simple.
The left one can be drawn like this, for example:
```
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[densely dashed] (0,0) circle[radius=2cm];
\draw[densely dashed] (0:0cm) circle[x radius=2cm, y radius=0.33cm];
\draw[densely dashed] (180:2cm) -- (0:2cm);
\draw[fill=black!25]
(240:2cm) arc[start angle=240, end angle=300, radius=2cm] -- cycle;
\fill[black!25]
(240:2cm) arc[start angle=0, end angle=360,
x radius={cos(240)*2cm}, y radius={cos(240)*0.33cm}] -- cycle;
\draw (240:2cm) arc[start angle=0, end angle=180,
x radius={cos(240)*2cm}, y radius={cos(240)*0.33cm}];
\draw[densely dashed] (240:2cm) -- (300:2cm)
arc[start angle=180, end angle=360,
x radius={cos(240)*2cm}, y radius={cos(240)*0.33cm}];
\draw (270:1.95cm) -- +(-0.5,-0.25) node[left] {$H$};
\end{tikzpicture}
\end{document}
```

And the right one (but probably you want to add more to it, the image you provided is a bit hard to read):
```
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle[radius=2cm];
\draw[->] (180:2.25cm) -- (0:2.25cm) node[right]{$x$};
\draw[densely dashed] (270:2cm) -- (90:2cm);
\draw[->] (270:2.25cm) -- (270:2cm)
(90:2cm) -- (90:2.25cm) node[above] {$y$};
\draw[densely dashed] (90:2cm) arc[start angle=90, end angle=-90,
y radius=2cm, x radius=0.33cm];
\draw (90:2cm) arc[start angle=90, end angle=270,
y radius=2cm, x radius=0.33cm];
\fill[black!25] (30:2cm) arc[start angle=30, end angle=0, radius=2cm] --
({cos(30)*2cm},0cm) -- cycle;
\draw[densely dashed] (30:2cm) -- (-30:2cm);
\draw (30:2cm) arc[start angle=90, end angle=270,
x radius={sin(30)*0.33cm}, y radius={sin(30)*2cm}];
\draw[densely dashed] (30:2cm) arc[start angle=90, end angle=-90,
x radius={sin(30)*0.33cm}, y radius={sin(30)*2cm}];
\node[below left] at (0,0) {$O$};
\draw[densely dashed] (30:2cm) -- (30:2cm -| 0,0)
node[left] {\scriptsize $3,5$};
\draw (-10:1.9cm) -- +(0.5,-0.25) node[below] {$H$};
\end{tikzpicture}
\end{document}
```
