Zeichnen einer Kugel mit 6 Punkten mit TiKz

Zeichnen einer Kugel mit 6 Punkten mit TiKz

Ich versuche also, mit TiKz ein Bild zu erstellen. Dabei denke ich an Folgendes:

Bildbeschreibung hier eingeben

Was mir fehlt, sind die richtigen Beschriftungen, vor allem die griechischen Buchstaben Eta, Xi und Zeta. Außerdem suche ich nach Pfeilen, die auf 0, 1 und $\infty$ zeigen und die auf der Kugeloberfläche zu liegen scheinen. Ich habe ein bisschen darüber nachgedacht und es könnte Teil einer Ellipse sein, aber offensichtlich weiß ich nicht, wie ich das hinbekommen soll.

Hier ist der Code, den ich bisher habe, sowie das gerenderte Bild:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{3d}

\begin{document}
\begin{tikzpicture}[scale=2]
    % Define sphere
    \draw (0,0) circle [radius=1];
    % Draw equator
    \draw[dashed] (90:1) arc (90:270:1);
    % Draw ellipse
    \draw[dashed] (1,0) arc (0:180:1 and 0.3);
    \draw (-1,0) arc (180:360:1 and 0.3);
    % Draw points
    \foreach \angle/\label/\pos in {30/A/above left, 150/B/above left, 90/C/above, -30/X/below left, -150/Y/below left, -90/Z/below} {
        \node (\label) at (\angle:1) [circle, fill, inner sep=0.03cm, label=\pos:\label] {};
    }
    % Draw arrows
    \foreach \from/\to in {A/B, B/C, C/X} {
        \draw[->] (\from) -- (\to);
    }
    % Draw dashed lines for perspective
    \draw[dashed] (1,0) -- (B);
    \draw[dashed] (1,0) -- (C);
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

So ziemlich nur der Punkt C befindet sich an der richtigen Position. Wenn ich versuche, dort $\infty$ einzugeben, erhalte ich die Fehlermeldung

Missing \endcsname inserted.                                                  
<to be read again>                                                              
                   \infty                                                       
l.17     }                

Ich wäre für jeden Ratschlag oder Hinweis sehr dankbar.

Antwort1

Hier ist eine Möglichkeit, Ihre Handzeichnung zu verwenden, während Ihre Bildschirmkopie auf ähnliche Weise folgt. Einige Anmerkungen:

  • Generell gilt: Probiere nicht zu viel auf einmal aus; Schleifen haben es hier schwer, weil du versuchst, verschiedene Dinge zu kombinieren
  • du hast die 3D-Bibliothek nicht benutzt, also habe ich sie fallengelassen
  • Der Radius könnte eine Konstante sein, während mit etwas mehr Geduld calchier eingeführt werden kann
  • Stile sind Ihr Freund, d. h. um Code leichter verständlich zu machen
  • dotshier sind nur gefüllte Knoten, die eine Kreisform haben
  • Auf der Ellipse habe ich zwei zusätzliche Knoten an verschiedenen Stellen platziert pos, wo ihre Namen wirklich relevant sind
  • Syntaktisch beginnt ein Pfad mit \, endet mit ;und alles dazwischen sind auszuführende Aktionen (daher beginnen diese Knoten nicht mit \)
  • die anderen Punkte hätten auch Koordinaten sein können; ich suche nach Namen
  • siehe die Polarnotation, die noch einmal einige Überlegungen zur Radiuskonstante aufzeigt
  • jetzt ist das Anbringen von Beschriftungen und das Zeichnen von gebogenen Linien fast ein Kinderspiel

Ergebnis

\documentclass[border=3mm]{standalone}  % adding some border
\usepackage{tikz}
%\usetikzlibrary{3d}                    % it's not used
\usetikzlibrary{arrows.meta}            % for nicer arrow tips

% ~~~ constants ~~~~~~~~~~~~~~~~~~~~~
\newcommand\rd[0]{2}
\newcommand\rdm[0]{(-2,0)}  % can be done better with calc

\begin{document}
\begin{tikzpicture}%[scale=2] % that's not too good to do
    [
        dot/.style={fill=black,circle,inner sep=1pt},
        as/.style={anchor=south},
        ae/.style={anchor=east},
        aw/.style={anchor=west},
        >={Stealth},            % replacing all arrow tips
    ]
    % Define sphere
    \draw (0,0) circle [radius=\rd{}];
    % Draw equator
    \draw[dashed] (90:\rd{}) arc (90:270:\rd{});
    % Draw ellipse + adding some nodes (with names)
    \draw[dashed] (\rd{},0) arc (0:180:\rd{} and 0.3);
    \draw \rdm{} arc (180:360:\rd{} and 0.3) 
            node[pos=.55,dot] (Zero) {}
            node[pos=.70,dot] (One) {};
    
    % ~~~ other points ~~~~~~~~~
    \node[dot] (Inf) at (0,\rd{}) {};
    \node[dot] (Eta) at (130:1.5) {};
    \node[dot] (Ksi) at (220:1.0) {};
    \node[dot] (Zet) at (340:1.6) {};
    
    % ~~~ putting labels ~~~~~~~
    \node[as] at (Inf) {$\infty$};
    \node[as] at (Zero){$0$};
    \node[as] at (One) {$1$};
    
    \node[ae] at (Eta) {$\eta$};
    \node[ae] at (Ksi) {$\xi$};
    \node[aw] at (Zet) {$\zeta$};
    
    % ~~~ arrows: bender was here ~~~~~
    \draw[->] (Zet) -- (One);               % start this way
    \draw[->] (Eta) to[bend left] (Inf);    % refine later
    \draw[->] (Ksi) to[bend right] (Zero);

    
%    % Draw points
%    \foreach \angle/\label/\pos in {30/A/above left, 150/B/above left, 90/C/above, -30/X/below left, -150/Y/below left, -90/Z/below} {
%        \node (\label) at (\angle:1) [circle, fill, inner sep=0.03cm, label=\pos:\label] {};
%    }
%    % Draw arrows
%    \foreach \from/\to in {A/B, B/C, C/X} {
%        \draw[->] (\from) -- (\to);
%    }
%    % Draw dashed lines for perspective
%    \draw[dashed] (1,0) -- (B);
%    \draw[dashed] (1,0) -- (C);
\end{tikzpicture}
\end{document}

verwandte Informationen