1

Here is a Riemann sphere projecting surface points onto the complex plane. Could someone show me how to shift the sphere up to z = 1? I would like to shift everything else connected to the sphere too, such as the vectors and the arcs inside the sphere, while also preserving the angles.

enter image description here

\documentclass[tikz,border=3mm]{standalone}
% based on 
% https://tex.stackexchange.com/a/38995/121799 
% https://tex.stackexchange.com/a/76216 
% https://tex.stackexchange.com/a/59168/194703 
% https://tex.stackexchange.com/q/448920/194703 
\makeatletter 
\tikzset{ 
reuse path/.code={\pgfsyssoftpath@setcurrentpath{#1}} 
} 
\tikzset{even odd clip/.code={\pgfseteorule}, 
protect/.code={ 
\clip[overlay,even odd clip,reuse path=#1] 
(current bounding box.south west) rectangle (current bounding box.north east)
; 
}} 
\makeatother 
\usetikzlibrary{3d,arrows.meta,decorations.markings,perspective}
\tikzset{->-/.style={decoration={% https://tex.stackexchange.com/a/39282/194703
  markings,
  mark=at position #1 with {\arrow{>}}},postaction={decorate}},
  ->-/.default=0.55}

\begin{document} \pgfmathsetmacro{\myaz}{15} \makeatletter \tikzset{ reuse path/.code={\pgfsyssoftpath@setcurrentpath{#1}} } \tikzset{even odd clip/.code={\pgfseteorule}, protect/.code={ \clip[overlay,even odd clip,reuse path=#1] (current bounding box.south west) rectangle (current bounding box.north east) ; }} \makeatother \usetikzlibrary{3d,arrows.meta,decorations.markings,perspective} \tikzset{->-/.style={decoration={% https://tex.stackexchange.com/a/39282/194703 markings, mark=at position #1 with {\arrow{>}}},postaction={decorate}}, ->-/.default=0.55}

\begin{tikzpicture}[declare function={% stereox(\x,\y)=2\x/(1+\x\x+\y\y);% stereoy(\x,\y)=2\y/(1+\x\x+\y\y);% stereoz(\x,\y)=(-1+\x\x+\y\y)/(1+\x\x+\y\y); Px=1.75;Py=-1.5;Qx=-1.5;Qy=-1.25;amax=2.5;, bmax =.5;},scale=2.5, line join=round,line cap=round, dot/.style={circle,fill,inner sep=1pt},>={Stealth[length=1.2ex]}] \pgfmathsetmacro{\myaz}{15} \path[save path=\pathSphere] (0,0) circle[radius=1]; \begin{scope}[3d view={\myaz}{18}] \draw (-amax,amax) -- (-amax,-amax) coordinate (bl) -- (amax,-amax) coordinate (br)-- (amax,amax); %node[above left]{$z=0$} ; \begin{scope} \tikzset{protect=\pathSphere} %Complex label \draw (-amax,amax) -- (amax,amax) node[below left,xshift=-2em]{$\mathds{C}$}; \end{scope} \begin{scope}

\clip[reuse path=\pathSphere]; \draw[dashed] (-amax,amax) -- (amax,amax); \end{scope} \begin{scope}[canvas is xy plane at z=0] \draw[dashed] (\myaz:(1) arc[start angle=\myaz,end angle=\myaz+180,radius=1]; \draw (\myaz:1) arc[start angle=\myaz,end angle=\myaz-180,radius=1]; \path[save path=\pathPlane] (\myaz:amax) -- (\myaz+180:amax) --(bl) -- (br) -- cycle; \begin{scope} \clip[use path=\pathPlane]; \draw[dashed,use path=\pathSphere]; \end{scope} \begin{scope} \tikzset{protect=\pathPlane} \draw[use path=\pathSphere]; \end{scope} \end{scope} \draw[->-=0.3] (Px,Py,0) nodedot,label=below:{$w$}{} -- node[auto,pos=0.3,swap]{$\pi$} ({stereox(Px,Py)},{stereoy(Px,-1)},{stereoz(Px,Py)}) nodedot,label=below left:{$w^*$}{}; \draw[->-] (Qx,Qy,0) nodedot,label=below:{$z$}{} -- node[auto,pos=0.5]{$\pi$} ({stereox(Qx,Qy)},{stereoy(Qx,-1)},{stereoz(Qx,Qy)}) nodedot,label=below right:{$z^*$}{}; \draw[dashed] (w) -- (0,0,1) nodedot,label=above:{$\zeta$}{} -- (z) -- (w*); \end{scope} \end{tikzpicture}

gz839918
  • 1,938

0 Answers0