add tag
Anonymous 1123
I am trying to draw this figure
![image.png](/image?hash=fa723b8a6206bea8c4c1f92dac31b7eb302111071b1f2f14332c0a7c42583f69)

I tried

```
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{calc,3dtools}% https://github.com/marmotghost/tikz-3dtools
\begin{document}
	\begin{tikzpicture}[3d/install view={phi=70,theta=70,psi=180},scale=1,line cap=butt,line join=round,c/.style={circle,fill,inner sep=1pt},
		declare function={Rsphere=3;rcone=2*Rsphere/sqrt(3);h=2*Rsphere;}] 
		\path 
		(0,0,0) coordinate (O)
		(0,0,h) coordinate (T);
		\pic{3d/cone={r=rcone,h=h}};
		\draw[3d/screen coords] (O) circle[radius=Rsphere];
		\path foreach \p/\g in {O/90,T/-90}
		{(\p)node[c]{}+(\g:2.5mm) node{$\p$}};
		\draw[3d/hidden] (O) -- (T);
	\end{tikzpicture}
\end{document}   
```
and get
![ScreenHunter 94.png](/image?hash=80ac9289d88ce40e447f0564d5a5eae061645c01b896e869e39adb9f7d427dfc)
Top Answer
user 3.14159
One option is to use some clips and reversed clips.
```
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{calc,3dtools}% https://github.com/marmotghost/tikz-3dtools
\begin{document}
	\begin{tikzpicture}[3d/install view={phi=0,theta=70,psi=180},scale=1,line cap=butt,line join=round,c/.style={circle,fill,inner sep=1pt},
		declare function={Rsphere=3;rcone=2*Rsphere/sqrt(3);h=2*Rsphere;}] 
		\path 
		(0,0,0) coordinate (O)
		(0,0,h) coordinate (T);
		\begin{scope}
		 \path[3d/cone/inner/.style={3d/hidden},
		 	3d/cone/outer/.style={3d/hidden}]pic{3d/cone={r=rcone,h=h}};
		 \clip[3d/screen coords,even odd clip] (O) circle[radius=Rsphere]
		  [generous outside path];
		 \pic{3d/cone={r=rcone,h=h}};
		\end{scope}
		\draw[3d/visible] (-rcone,0) arc[start angle=180,end angle=360,radius=rcone];
		\begin{scope}
		 \draw[3d/screen coords,3d/hidden] (O) circle[radius=Rsphere];
		 \clip[even odd clip] 
		 	(-rcone,0) arc[start angle=180,end angle=360,radius=rcone]
			-- (rcone,-2*Rsphere) arc[start angle=0,end angle=-180,radius=rcone]
			--cycle [generous outside path];
		 \draw[3d/screen coords,3d/visible] (O) circle[radius=Rsphere];
		\end{scope}
		\path foreach \p/\g in {O/90,T/-90}
		{(\p)node[c]{}+(\g:2.5mm) node{$\p$}};
		\draw[3d/hidden] (O) -- (T);
	\end{tikzpicture}
\end{document}    
```
![Screen Shot 2021-04-16 at 7.07.04 AM.png](/image?hash=b399ec65452bc7fce8c541e54c119342162551c2c5f399d44a29c982ae23ded8)

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.