Anonymous 1123
I see this question from [here](https://tex.stackexchange.com/questions/586198/draw-sphere-and-curved-surface-with-tikz)
How to draw this another way?


user 3.14159
There are many ways, here is one. Note that 3dtools is only used to install a view, so you can use tikz-3dplot or the perspective library instead.

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{calc,3dtools}%https://github.com/marmotghost/tikz-3dtools
\begin{document}
\begin{tikzpicture}[scale=3,>=stealth,semithick]
\path (1,0) coordinate (ex) (0,1) coordinate (ey);
\begin{scope}[3d/install view={phi=110,psi=0,theta=70},
smooth,variable=\t,fill opacity=0.5]
\path (0,1,0) coordinate (ey');
\draw (-1.5,0,0) -- (-1,0,0);
\path let \p1=(ey'),\n1={atan2(\y1,\x1)} in
[left color=teal!50,right color=teal,middle color=white,
-- plot[domain=1:-1] ({-cosh(\t)},-1,{sinh(\t)}) -- cycle;
\draw (0,-1.5,0) -- (0,-1,0);
\draw (0,0,-1.5) -- (0,0,-1);
\path[x={(ex)},y={(ey)},ball color=orange,fill opacity=1]
\path let \p1=(ey'),\n1={atan2(\y1,\x1)} in
[left color=teal!50,right color=teal,middle color=white,
-- plot[domain=1:-1] ({cosh(\t)},-1,{sinh(\t)}) -- cycle;
\draw[->] (1,0,0) -- (1.5,0,0) node[pos=1.2]{$x$};
\draw[->] (0,1,0) -- (0,1.5,0) node[pos=1.2]{$y$};
\draw[->] (0,0,1) -- (0,0,1.5) node[pos=1.2]{$z$};
\end{scope}
\end{tikzpicture}
\end{document}

![Screen Shot 2021-03-07 at 7.38.36 PM.png](/image?hash=03391fda9c7ee1bdf9296568bdce71b9f1b6e0129e03fa8e917cd6c2ddb5ba79)