From f5dc85609d5db143cbdefcbb1430b4dfec7a8d3f Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Thu, 22 Jul 2021 09:38:24 +0200 Subject: Create figure for stereographic projection --- .../tikz/stereographic-projections.tex | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 buch/papers/punktgruppen/tikz/stereographic-projections.tex (limited to 'buch/papers/punktgruppen/tikz/stereographic-projections.tex') diff --git a/buch/papers/punktgruppen/tikz/stereographic-projections.tex b/buch/papers/punktgruppen/tikz/stereographic-projections.tex new file mode 100644 index 0000000..4091ad9 --- /dev/null +++ b/buch/papers/punktgruppen/tikz/stereographic-projections.tex @@ -0,0 +1,90 @@ +\documentclass[tikz]{standalone} +\usepackage{amsmath} +\usepackage{times} +\usepackage{txfonts} +\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 = 1mm + }, + 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); + + % axis + % \draw[->] (O) -- ++(1.5*\l,0,0); + % \draw[->] (O) -- ++(0,1.5*\l,0); + % \draw[->] (O) -- ++(0,0,1.5*\l); + + % gray unit circle + \tdplotdrawarc[gray, dashed]{(O)}{\l}{0}{360}{}{}; + \draw[gray, dashed] (-\l, 0, 0) to (\l, 0, 0); + \draw[gray, dashed] (0, -\l, 0) to (0, \l, 0); + + % meridians + \foreach \phi in {0, 30, 60, ..., 150}{ + \tdplotsetrotatedcoords{\phi}{90}{0}; + \tdplotdrawarc[lightgray, dashed, tdplot_rotated_coords]{(O)}{\l}{0}{360}{}{}; + } + + % dot above and its projection + \pgfmathsetmacro{\phi}{120} + \pgfmathsetmacro{\theta}{60} + + \pgfmathsetmacro{\px}{cos(\phi)*sin(\theta)*\l} + \pgfmathsetmacro{\py}{sin(\phi)*sin(\theta)*\l} + \pgfmathsetmacro{\pz}{cos(\theta)*\l}) + + \coordinate (A) at (\px,\py,\pz); + \coordinate (Aproj) at ({\px * \l / (\l + \pz)}, {\py * \l / (\l + \pz)}, 0); + + % projection line + \draw[] (A) to (SP); + \draw[gray] (SP) to (O) to (Aproj); + + % dot + \draw (O) node[dot] {}; + \draw (SP) node[dot] {}; + \draw (A) node[dot, fill=magenta] {}; + \draw[very thick, magenta] + (Aproj) ++(.15,0) to ($(Aproj)+(-.15, 0)$) + (Aproj) ++(0,.15) to ($(Aproj) +(0, -.15)$); + + % \draw (O) to ({cos(\phi)*\l}, {sin(\phi)*\l}, 0); + +\end{tikzpicture} +\end{document} +% vim:ts=2 sw=2 et: -- cgit v1.2.1 From 472b3d0a253879552d139cc4f41a2e00e5f6e4f5 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 23 Jul 2021 09:08:08 +0200 Subject: Change stereographic projection to Ci --- .../tikz/stereographic-projections.tex | 34 +++++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'buch/papers/punktgruppen/tikz/stereographic-projections.tex') diff --git a/buch/papers/punktgruppen/tikz/stereographic-projections.tex b/buch/papers/punktgruppen/tikz/stereographic-projections.tex index 4091ad9..7d612fb 100644 --- a/buch/papers/punktgruppen/tikz/stereographic-projections.tex +++ b/buch/papers/punktgruppen/tikz/stereographic-projections.tex @@ -50,9 +50,9 @@ % \draw[->] (O) -- ++(0,0,1.5*\l); % gray unit circle - \tdplotdrawarc[gray, dashed]{(O)}{\l}{0}{360}{}{}; - \draw[gray, dashed] (-\l, 0, 0) to (\l, 0, 0); - \draw[gray, dashed] (0, -\l, 0) to (0, \l, 0); + \tdplotdrawarc[gray, thick]{(O)}{\l}{0}{360}{}{}; + \draw[gray, dotted] (-\l, 0, 0) to (\l, 0, 0); + \draw[gray, dotted] (0, -\l, 0) to (0, \l, 0); % meridians \foreach \phi in {0, 30, 60, ..., 150}{ @@ -71,19 +71,37 @@ \coordinate (A) at (\px,\py,\pz); \coordinate (Aproj) at ({\px * \l / (\l + \pz)}, {\py * \l / (\l + \pz)}, 0); - % projection line - \draw[] (A) to (SP); + % dot below and its projection + \pgfmathsetmacro{\phi}{-60} + \pgfmathsetmacro{\theta}{120} + + \pgfmathsetmacro{\px}{cos(\phi)*sin(\theta)*\l} + \pgfmathsetmacro{\py}{sin(\phi)*sin(\theta)*\l} + \pgfmathsetmacro{\pz}{cos(\theta)*\l}) + + \coordinate (B) at (\px,\py,\pz); + \coordinate (Bproj) at ({\px * \l / (\l - \pz)}, {\py * \l / (\l - \pz)}, 0); + + % projection lines + \draw[gray] (A) to (SP); \draw[gray] (SP) to (O) to (Aproj); - % dot + \draw[gray] (B) to (NP); + \draw[gray] (NP) to (O) to (Bproj); + + % dots \draw (O) node[dot] {}; \draw (SP) node[dot] {}; - \draw (A) node[dot, fill=magenta] {}; + \draw (NP) node[dot] {}; + \draw (A) node[dot, fill = magenta, minimum size = 1.5mm] {}; + \draw (B) node[dot, fill = orange, minimum size = 1.5mm] {}; + + % projection markers \draw[very thick, magenta] (Aproj) ++(.15,0) to ($(Aproj)+(-.15, 0)$) (Aproj) ++(0,.15) to ($(Aproj) +(0, -.15)$); - % \draw (O) to ({cos(\phi)*\l}, {sin(\phi)*\l}, 0); + \tdplotdrawarc[orange, very thick]{(Bproj)}{.1}{0}{360}{}{}; \end{tikzpicture} \end{document} -- cgit v1.2.1