答案1
我用过 Mathcha
\documentclass[tikz,border=7pt]{standalone}
\usepackage{physics}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{mathdots}
\usepackage{yhmath}
\usepackage{cancel}
\usepackage{color}
\usepackage{siunitx}
\usepackage{array}
\usepackage{multirow}
\usepackage{amssymb}
\usepackage{gensymb}
\usepackage{tabularx}
\usepackage{booktabs}
\usetikzlibrary{fadings}
\usetikzlibrary{patterns}
\usetikzlibrary{shadows.blur}
\usetikzlibrary{shapes}
\begin{document}
\tikzset{every picture/.style={line width=0.75pt}} %set default line width to 0.75pt
\begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1]
\draw (337,182) -- (466.3,180.39)node[below]{$y$} ;
\draw [shift={(468.3,180.36)}, rotate = 539.29] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ;
\draw (337,182) -- (338.28,63.56)node[right]{$z$} ;
\draw [shift={(338.3,61.56)}, rotate = 450.62] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ;
\draw (337,182) -- (268.72,249.95) node[below]{$x$};
\draw [shift={(267.3,251.36)}, rotate = 315.14] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ;
\draw (239.5,182) .. controls (239.5,158.27) and (283.15,139.04) .. (337,139.04) .. controls (390.85,139.04) and (434.5,158.27) .. (434.5,182) .. controls (434.5,205.73) and (390.85,224.96) .. (337,224.96) .. controls (283.15,224.96) and (239.5,205.73) .. (239.5,182) -- cycle ;
\draw (290.3,212.16) .. controls (268.3,237.16) and (259.3,151.16) .. (283.8,146.16) node[above]{$y=-1$};
\draw [dash pattern={on 4.5pt off 4.5pt}] (290.3,212.16) .. controls (306.3,196.16) and (295.3,144.16) .. (283.8,146.16) ;
\draw [dash pattern={on 4.5pt off 4.5pt}] (399.47,214.16) .. controls (427.3,205.56) and (417.3,152.56) .. (399.47,150.16) node[above]{$y=1$};;
\draw [dash pattern={on 4.5pt off 4.5pt}] (337,139.04) .. controls (366.3,142.56) and (365.3,221.56) .. (337,224.96) ;
\draw (399.47,214.16) .. controls (382.3,217.56) and (371.3,158.56) .. (399.47,150.16) ;
\draw (337,139.04) .. controls (306.3,147.16) and (312.3,223.16) .. (337.3,224.96) node[below]{$y=0$};
\draw [fill] (435,181) circle [radius=1pt] node[below,xshift=3pt]{b};
\draw [fill] (298,221) circle [radius=1pt] node[below,xshift=3pt]{a};
\draw [fill] (338,139) circle [radius=1pt] node[above,xshift=3pt]{c};
\end{tikzpicture}
\end{document}