For more figures related to the definition of coordinate systems, please have a look at the “coordinates” tag.
Edit and compile if you like:
\documentclass[border=3pt]{standalone} \usepackage{tikz} \usepackage{tikz-3dplot} \begin{document} %Axis Angles \tdplotsetmaincoords{70}{110} %Macros \pgfmathsetmacro{\rvec}{6} \pgfmathsetmacro{\thetavec}{40} \pgfmathsetmacro{\phivec}{45} \pgfmathsetmacro{\dphivec}{20} \pgfmathsetmacro{\dthetavec}{20} \pgfmathsetmacro{\drvec}{1.5} %Layers \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background, main, foreground} \begin{tikzpicture}[tdplot_main_coords] %Coordinates \coordinate (O) at (0,0,0); % \tdplotsetcoord{A}{\rvec}{\thetavec}{\phivec} \tdplotsetcoord{B}{\rvec}{\thetavec + \dthetavec}{\phivec} \tdplotsetcoord{C}{\rvec}{\thetavec + \dthetavec}{\phivec + \dphivec} \tdplotsetcoord{D}{\rvec}{\thetavec}{\phivec + \dphivec} % \tdplotsetcoord{E}{\rvec + \drvec}{\thetavec}{\phivec} \tdplotsetcoord{F}{\rvec + \drvec}{\thetavec + \dthetavec}{\phivec} \tdplotsetcoord{F'}{\rvec + \drvec}{90}{\phivec} \tdplotsetcoord{G}{\rvec + \drvec}{\thetavec + \dthetavec}{\phivec + \dphivec} \tdplotsetcoord{G'}{\rvec + \drvec}{90}{\phivec + \dphivec} \tdplotsetcoord{H}{\rvec + \drvec}{\thetavec}{\phivec + \dphivec} %%%Nodes %\node at (A) {A}; %\node at (B) {B}; %\node at (C) {C}; %\node at (D) {D}; %\node at (E) {E}; %\node at (F) {F}; %\node at (G) {G}; %\node at (H) {H}; %Axis \begin{pgfonlayer}{background} \draw[thick,-latex] (0,0,0) -- (7,0,0) node[pos=1.1]{$x$}; \draw[thick,-latex] (0,0,0) -- (0,7,0) node[pos=1.05]{$y$}; \draw[thick,-latex] (0,0,0) -- (0,0,6) node[pos=1.05]{$z$}; \end{pgfonlayer} %Help Lines \begin{pgfonlayer}{background} %Up \draw[thick, blue] (O) -- (A) node[pos=0.6, above left, blue] {$r$}; \draw (O) -- (B); \draw (O) -- (C); \draw[dashed] (O) -- (D); %Down \draw (O) -- (F'); \draw (O) -- (G'); \end{pgfonlayer} \begin{pgfonlayer}{foreground} %%Help Curves \tdplotsetthetaplanecoords{\phivec} \tdplotdrawarc[tdplot_rotated_coords]{(O)}{\rvec}{\thetavec+\dthetavec}{90}{}{} \tdplotdrawarc[tdplot_rotated_coords]{(O)}{\rvec+\drvec}{\thetavec+\dthetavec}{90}{}{} \tdplotsetthetaplanecoords{\phivec+\dphivec} \tdplotdrawarc[tdplot_rotated_coords, dashed]{(O)}{\rvec}{\thetavec+\dthetavec}{90}{}{} \tdplotdrawarc[tdplot_rotated_coords]{(O)}{\rvec+\drvec}{\thetavec+\dthetavec}{90}{}{} % \tdplotdrawarc[tdplot_main_coords]{(O)}{\rvec}{\phivec}{\phivec+\dphivec}{}{} \node[rotate=13] at (3,4.45,0) {$r\sin\theta\mathrm{d}\phi$}; \tdplotdrawarc[tdplot_main_coords]{(O)}{\rvec+\drvec}{\phivec}{\phivec+\dphivec}{}{} \end{pgfonlayer} %Angles \begin{pgfonlayer}{foreground} %Phi, dPhi \tdplotdrawarc[-stealth]{(O)}{0.9}{0}{\phivec}{anchor=north}{$\phi$} \tdplotdrawarc[-stealth]{(O)}{1.5}{\phivec}{\phivec + \dphivec}{}{} \node at (1.4,1.9,0) {$\mathrm{d}\phi$}; \tdplotsetthetaplanecoords{\phivec} %Theta, dTheta \tdplotdrawarc[tdplot_rotated_coords, -stealth]{(0,0,0)}{1.2}{0}{\thetavec}{}{} \node at (0,0.3,1.3) {$\theta$}; \tdplotdrawarc[tdplot_rotated_coords, -stealth]{(0,0,0)}{2.}{\thetavec}{\thetavec + \dthetavec}{anchor=south west}{$\mathrm{d}\theta$} \end{pgfonlayer} %Differential Volume %%Lines \begin{pgfonlayer}{foreground} \draw[thick] (A) -- (E) node[midway, above left]{$\mathrm{d}r$}; \draw[thick] (B) -- (F); \draw[thick] (C) -- (G); \end{pgfonlayer} \begin{pgfonlayer}{background} \draw[dashed, thick] (D) -- (H); \end{pgfonlayer} %%Curved \begin{pgfonlayer}{background} \tdplotsetrotatedcoords{55}{-50.4313}{-6.4086} \tdplotdrawarc[dashed, tdplot_rotated_coords, thick]{(O)}{\rvec}{0}{12.8173}{}{} % \tdplotsetthetaplanecoords{\phivec + \dphivec} \tdplotdrawarc[dashed, tdplot_rotated_coords, thick]{(O)}{\rvec}{\thetavec}{\dthetavec + \thetavec}{}{} \end{pgfonlayer} \begin{pgfonlayer}{foreground} \tdplotsetthetaplanecoords{\phivec} \tdplotdrawarc[tdplot_rotated_coords, thick]{(O)}{\rvec}{\thetavec}{\dthetavec + \thetavec}{below left}{$r\mathrm{d}\theta$} \tdplotdrawarc[tdplot_rotated_coords, thick]{(O)}{\rvec + \drvec}{\thetavec}{\dthetavec + \thetavec}{}{} % \tdplotsetthetaplanecoords{\phivec + \dphivec} \tdplotdrawarc[tdplot_rotated_coords, thick]{(O)}{\rvec + \drvec}{\thetavec}{\dthetavec + \thetavec}{}{} % \tdplotsetrotatedcoords{55}{-50.4313}{-6.4086} \tdplotdrawarc[tdplot_rotated_coords, thick]{(O)}{\rvec + \drvec}{0}{12.8173}{}{} % \tdplotsetrotatedcoords{55}{-30.3813}{-8.6492} \tdplotdrawarc[tdplot_rotated_coords, thick]{(O)}{\rvec}{0}{17.2983}{}{} \tdplotdrawarc[tdplot_rotated_coords, thick]{(O)}{\rvec + \drvec}{0}{17.2983}{}{} \end{pgfonlayer} %Fill Color \begin{pgfonlayer}{main} %Front \fill[black, opacity=0.15] (E) to (A) to[bend left=4] (B) to (F) to[bend right=4] cycle; \fill[black, opacity=0.6] (E) to[bend left=4] (F) to[bend left=2] (G) to[bend right=6.5] (H) to[bend right=4] cycle; \fill[black, opacity=0.4] (F) to[bend left=2] (G) to[bend left=1.5] (C) to[bend right=2.5] (B) to[bend right=4] cycle; \end{pgfonlayer} \begin{pgfonlayer}{background} %Back \fill[black!50, opacity=0.5] (A) to[bend left=2] (D) to[bend left=6] (C) to[bend right=2.5] (B) to[bend right=4] cycle; \fill[black!50, opacity=0.5] (A) to[bend left=2] (D) to (H) to[bend right=2.5] (E) to[bend right=4] cycle; \fill[black!50, opacity=0.5] (D) to (H) to[bend left=6] (G) to[bend right=2] (C) to[bend right=6] cycle; \end{pgfonlayer} \end{tikzpicture} \end{document}
Click to download: spherical_volume.tex
Open in Overleaf: spherical_volume.tex
This file is available on GitHub.
See more on the author page of Alexandros Tsagkaropolulos.