aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/kugel/figures/tikz/spherical-coordinates.tex
diff options
context:
space:
mode:
Diffstat (limited to 'buch/papers/kugel/figures/tikz/spherical-coordinates.tex')
-rw-r--r--buch/papers/kugel/figures/tikz/spherical-coordinates.tex99
1 files changed, 99 insertions, 0 deletions
diff --git a/buch/papers/kugel/figures/tikz/spherical-coordinates.tex b/buch/papers/kugel/figures/tikz/spherical-coordinates.tex
new file mode 100644
index 0000000..3a45385
--- /dev/null
+++ b/buch/papers/kugel/figures/tikz/spherical-coordinates.tex
@@ -0,0 +1,99 @@
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{bm}
+\usepackage{lmodern}
+\usepackage{tikz-3dplot}
+
+\usetikzlibrary{arrows}
+\usetikzlibrary{intersections}
+\usetikzlibrary{math}
+\usetikzlibrary{positioning}
+\usetikzlibrary{arrows.meta}
+\usetikzlibrary{shapes.misc}
+\usetikzlibrary{calc}
+
+\begin{document}
+
+\tdplotsetmaincoords{60}{130}
+\pgfmathsetmacro{\l}{2}
+
+\begin{tikzpicture}[
+ >=latex,
+ tdplot_main_coords,
+ dot/.style = {
+ black, fill = black, circle,
+ outer sep = 0, inner sep = 0,
+ minimum size = .8mm
+ },
+ round/.style = {
+ draw = orange, thick, circle,
+ minimum size = 1mm,
+ inner sep = 0pt, outer sep = 0pt,
+ },
+ cross/.style = {
+ cross out, draw = magenta, thick,
+ minimum size = 1mm,
+ inner sep = 0pt, outer sep = 0pt
+ },
+ ]
+
+ % origin
+ \coordinate (O) at (0,0,0);
+
+ % poles
+ \coordinate (NP) at (0,0,\l);
+ \coordinate (SP) at (0,0,-\l);
+
+ % \draw (SP) node[dot, gray] {};
+ % \draw (NP) node[dot, gray] {};
+
+ % gray unit circle
+ \tdplotdrawarc[gray]{(O)}{\l}{0}{360}{}{};
+ \draw[gray, dashed] (-\l, 0, 0) to (\l, 0, 0);
+ \draw[gray, dashed] (0, -\l, 0) to (0, \l, 0);
+
+ % axis
+ \draw[->] (O) -- ++(1.25*\l,0,0) node[left] {\(\mathbf{\hat{x}}\)};
+ \draw[->] (O) -- ++(0,1.25*\l,0) node[right] {\(\mathbf{\hat{y}}\)};
+ \draw[->] (O) -- ++(0,0,1.25*\l) node[above] {\(\mathbf{\hat{z}}\)};
+
+ % meridians
+ \foreach \phi in {0, 30, 60, ..., 150}{
+ \tdplotsetrotatedcoords{\phi}{90}{0};
+ \tdplotdrawarc[lightgray, densely dotted, tdplot_rotated_coords]{(O)}{\l}{0}{360}{}{};
+ }
+
+ % dot above and its projection
+ \pgfmathsetmacro{\phi}{120}
+ \pgfmathsetmacro{\theta}{40}
+
+ \pgfmathsetmacro{\px}{cos(\phi)*sin(\theta)*\l}
+ \pgfmathsetmacro{\py}{sin(\phi)*sin(\theta)*\l}
+ \pgfmathsetmacro{\pz}{cos(\theta)*\l})
+
+ % point A
+ \coordinate (A) at (\px,\py,\pz);
+ \coordinate (Ap) at (\px,\py, 0);
+
+ % lines
+ \draw[red!80!black, ->] (O) -- (A);
+ \draw[red!80!black, densely dashed] (O) -- (Ap) -- (A)
+ node[above right] {\(\mathbf{\hat{r}}\)};
+
+ % arcs
+ \tdplotdrawarc[blue!80!black, ->]{(O)}{.8\l}{0}{\phi}{}{};
+ \node[below right, blue!80!black] at (.8\l,0,0) {\(\bm{\hat{\varphi}}\)};
+
+ \tdplotsetrotatedcoords{\phi-90}{-90}{0};
+ \tdplotdrawarc[blue!80!black, ->, tdplot_rotated_coords]{(O)}{.95\l}{0}{\theta}{}{};
+ \node[above right = 1mm, blue!80!black] at (0,0,.8\l) {\(\bm{\hat{\vartheta}}\)};
+
+
+ % dots
+ \draw (O) node[dot] {};
+ \draw (A) node[dot, fill = red!80!black] {};
+
+\end{tikzpicture}
+\end{document}
+% vim:ts=2 sw=2 et: