# Drawing diagram using Tikz

How can I draw this diagram using TikZ?

I would preferably want both the arrows and the annotations on the arrows please

• Welcome to TeX.SE. Just have you tried something? Commented Mar 28, 2020 at 21:48

This is a start. Use 3d spherical coordinates and plot all sorts of things. The missing two annotations are left as an exercise for the reader.

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{3d,perspective}
\begin{document}
\begin{tikzpicture}[3d view={30}{30},>=stealth]
-- cycle
-- (xyz spherical cs:radius=3,latitude=0,longitude=0) node[right]{$\sigma_r$};
\foreach \Z in {1,-1}
{\foreach \X in {-10,0,10}
{ \draw[->] plot[domain=25:40] (xyz spherical
\draw[->] plot[domain=25:40] (xyz spherical
\end{tikzpicture}
\end{document}


Or a more fancy version.

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{3d,perspective,arrows.meta,bending}
\begin{document}
\begin{tikzpicture}[3d view={30}{30},>={Stealth[bend]},samples=4,smooth,
line cap=round,line join=round,
declare function={R=2;dR=0.5;phimin=-20;phimax=20;thetamin=-20;thetamax=20;}]
angle=55]
-- cycle;
angle=75]
\draw[fill=black]
-- (xyz spherical cs:radius=R+1.5,latitude=0,longitude=0) node[right]{$\sigma_r$};
\foreach \Z in {1,-1}
{\foreach \X in {-10,0,10}
{ \draw[->] plot[samples at={25,30,35,45}] (xyz spherical
\path (1,2) node[right] {$\sigma_L$} (-1.2,3) node[above left]{$\sigma_\theta$};

• @levivah940 latitude=0,latitude=0 brings you in the middle of the diagram. Use e.g. \path (1,2) node[right] {$\sigma_L$} (-1.2,3) node[above left]{$\sigma_\theta$};