Edit and compile if you like:
\documentclass{article} \usepackage{tikz} \usepackage{tikz-3dplot} \usetikzlibrary{math} \usepackage[active,tightpage]{preview} \PreviewEnvironment{tikzpicture} \setlength\PreviewBorder{1pt} % % File name: truncated-cylinder.tex % Description: % A geometric representation of a truncated cylinder is shown. % % Date of creation: April, 9th, 2021. % Date of last modification: October, 9th, 2022. % Author: Efran Soto Apolinar. % https://www.aprendematematicas.org.mx/author/efrain-soto-apolinar/instructing-courses/ % Source: page 44 of the % Glosario Ilustrado de Matem\'aticas Escolares. % https://tinyurl.com/5udm2ufy % % Terms of use: % According to TikZ.net % https://creativecommons.org/licenses/by-nc-sa/4.0/ % Your commitment to the terms of use is greatly appreciated. % \begin{document} % \tdplotsetmaincoords{70}{100} % \begin{tikzpicture}[tdplot_main_coords] \pgfmathsetmacro{\r}{2} % Base of the truncated cylinder \draw[thick,fill=cyan!35,opacity=0.75] plot[domain=0:6.2832,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{0.0}); \draw[red,thick,dashed] plot[domain=1.570796327:4.71238898,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{0.0}); % Vertical wall (back, external radius) \fill[gray!35,opacity=0.5] (0,\r,0) -- plot[domain=1.571:4.71238898,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{0}) -- (0,-\r,4) -- plot[domain=4.71238898:1.571,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{4.0-\r*sin(\t r)}) -- (0,\r,0); % Vertical wall (front, external radius) \fill[cyan!35,opacity=0.5] (0,-\r,0) -- plot[domain=-1.571:1.571,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{0}) -- (0,\r,2.0) -- plot[domain=1.571:-1.571,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{4.0-\r*sin(\t r)}) -- (0,-\r,0); % section of the plane (cut by a plane) \draw[thick] plot[domain=0:6.2832,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{4.0-\r*sin(\t r)}); % The cylinder (vertical wall \foreach \angulo in {0,0.05,...,6.3}{ \pgfmathparse{2.0*cos(\angulo r)} \pgfmathsetmacro{\px}{\pgfmathresult} \pgfmathparse{2.0*sin(\angulo r)} \pgfmathsetmacro{\py}{\pgfmathresult} \draw[cyan] (\px,\py,0) -- (\px,\py,4.0-\py); } \fill[cyan!35,opacity=0.75] plot[domain=0:6.2832,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{4.0-\r*sin(\t r)}); % Circumferences bounding the cylinder \draw[red,thick] plot[domain=0:6.2831853,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{4.0-\r*sin(\t r)}); \draw[red,thick] plot[domain=-1.570796327:1.570796327,smooth,variable=\t] ({\r*cos(\t r)},{\r*sin(\t r)},{0.0}); % lengths and indication of points \draw[dash dot dot] (0,0,-1) -- (0,0,6); \draw[dash dot dot] (0,-\r,6) -- (0,\r,2); \draw[dash dot dot] (-\r,0,4) -- (\r,0,4); \draw[dash dot dot] (0,0,4) -- (0,\r+1.5,4); \draw[dash dot dot] (-\r,0,0) -- (\r,0,0); \draw[dash dot dot] (0,-\r-1.0,0) -- (0,\r+1.5,0); \draw[dash dot dot] (0,-\r-1.0,6) -- (0,-\r,6); \draw[dash dot dot] (0,\r,5.5) -- (0,\r,2) -- (0,\r+1,2); \draw[thick,<->] (0,0,5) -- (0,\r,5) node [midway,fill=white] {$r$}; \draw[thick,<->] (0,\r+0.5,0) -- (0,\r+0.5,2) node [midway,fill=white] {$h_{1}$}; \draw[thick,<->] (0,-\r-0.5,0) -- (0,-\r-0.5,6) node [midway,fill=white] {$h_{2}$}; \draw[thick,<->] (0,\r+1.0,0) -- (0,\r+1.0,4) node [midway,fill=white] {$h$}; \end{tikzpicture} % \end{document}
Click to download: truncated-cylinder.tex • truncated-cylinder.pdf
Open in Overleaf: truncated-cylinder.tex
See more on the author page of Efraín Soto Apolinar.