add tag
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?

Top Answer
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,
   	shading angle=\n1] plot[domain=-1:1] ({-cosh(\t)},1,{sinh(\t)})
   -- 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] 
  	(0,0,0) circle[radius=1]; 
  \path let \p1=(ey'),\n1={atan2(\y1,\x1)} in
   [left color=teal!50,right color=teal,middle color=white,
   	shading angle=\n1] plot[domain=-1:1] ({cosh(\t)},1,{sinh(\t)})
   -- 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)

This room is for discussion about this question.

Once logged in you can direct comments to any contributor here.

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.