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
marmot
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)

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.