Entonces estoy tratando de obtener una imagen usando TiKz, lo que tengo en mente es lo siguiente
Lo que me falta son las etiquetas correctas, principalmente las letras griegas eta, xi y zeta, también estoy buscando flechas que apunten a 0, 1 y $\infty$ y que parezcan estar en la superficie de la esfera, Pensé un poco en esto y podría ser como parte de una elipse pero como es obvio no sé como lograrlo.
Aquí está el código que tengo hasta ahora, así como la imagen renderizada:
\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}
Prácticamente solo el punto C está en la posición correcta, cuando intento poner $\infty$ en él aparece el error
Missing \endcsname inserted.
<to be read again>
\infty
l.17 }
Cualquier consejo o sugerencia sería muy apreciado.
Respuesta1
Aquí hay una manera de dibujar a mano, mientras que la copia en pantalla sigue de manera similar. Algunas observaciones:
- en general, no intentes demasiado de una sola vez; Los bucles tienen dificultades aquí, porque intentas combinar diferentes cosas.
- No nos usaste la biblioteca 3D, así que la dejé.
- el radio podría ser una constante, aunque con un poco más de paciencia
calc
se puede introducir aquí - Los estilos son tus amigos, es decir, para hacer que el código sea más fácil de entender.
dots
Aquí solo hay nodos rellenos, que tienen un círculo como forma.- En la elipse puse dos nodos adicionales en diferentes lugares
pos
, donde sus nombres son realmente relevantes. - Sintácticamente, una ruta comienza con
\
, termina con;
y todo lo que hay en el medio son acciones a realizar (por lo tanto, estos nodos no comienzan con\
) - los otros puntos también podrían haber sido coordenadas; nombres son lo que busco
- Vea la notación polar, que una vez más indica algunas ideas necesarias para la constante de radio.
- ahora poner etiquetas y dibujar líneas dobladas es casi una obviedad
\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}