Para un proyecto, quería dibujar una determinada región en el espacio hiperbólico. El límite de esa región consta de segmentos de recta y arcos de círculo. Puedo llamar a la draw
función para segmentos de línea o arcos:
\draw (a,b) -- (c,d);
\draw (a,b) arc (theta1:theta2:r);
Encuentro los puntos finales con la mayor precisión posible (está bien).
La función de arco se define donde
(a,b)
es el punto de partidatheta1
es el ángulo de miradatheta2
es el angulo final
Las convenciones de ángulos de TiKZ son tan confusas que, después de mucho ensayo y error, me di cuenta de que mi radio siempre es 1, y los dos puntos son ( ± 1/2, √3/2 ) que tengo a mi disposición, el punto de partida (a,b)
es el punto final (c,d)
y el radio del círculo.
Principalmente necesito la región sombreada en gris (A), su inversión debajo del círculo unitario (B) y la unión (A+B), se parece a un lápiz.
La parte obvia (ahora) es que mis líneas deben empujarse hacia adentro 0,5, luego tengo que fijarlas con un lápiz y encontrar en qué ángulo la línea vertical llega al círculo (tal vez 60 °).
Sin embargo, para los círculos más pequeños, este simple ejercicio de dibujo se vuelve un desastre. Sin embargo, los mapas conformes preservan los ángulos euclidianos; las intersecciones pueden girar un poco a medida que iteramos a través de SL(2,Z).
Aquí está mi código incorrecto:
\begin{tikzpicture}
\draw[fill=blue!5!white, line width=0.5, draw=green]
(0,0.5) arc (90:0:0.5)--
(0.5,0) arc (180:0:0.5)--
(1.5,0) arc (180:90:0.5)--
(2,0.5)--(2,3)--(0,3);
\draw[color=black!20!white] (0, 3)--(0, 1);
\draw[color=black!20!white] (1, 3)--(1, 1);
\draw[color=black!20!white] (2, 3)--(2, 1);
\draw[color=black!20!white] (2,0) arc (0 :180:1);
\draw[color=black!20!white] (1,0) arc (0 : 90:1);
\draw[color=black!20!white] (1,0) arc (180: 90:1);
\draw[line width = 1] (-0.5,0)--(2,0);
\draw[line width = 1] (0,3)--(0,0);
\end{tikzpicture}
Respuesta1
Puede aprovechar el hecho de que el ángulo entre el centro de un círculo y su intersección con el siguiente círculo es de 60 grados y utilizarlo, por ejemplo, ({cos(60)},{sin(60)})
como coordenada. Y dibuja un camino que incluya un par de arcos y algunas líneas rectas.
No he añadido todas las etiquetas aquí, ¿quieres reproducir tu boceto dibujado a mano?
\documentclass[border=4mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=3]
\draw (-1.5,0) -- (1.5,0);
\filldraw [thin,fill=black!30] (0,0)
arc[start angle=0,end angle=60,radius=1] --
({-cos(60)},2) -- ({cos(60)},2) -- ({cos(60)},{sin(60)})
arc[start angle=120,end angle=180,radius=1];
\draw [ultra thin,densely dashed] (-1,0) arc[start angle=180,delta angle=-180,radius=1];
\foreach \x in {-1,-0.5,...,1}
\draw (\x,2pt) -- (\x,-2pt) node[below]{$\x$};
\end{tikzpicture}
\end{document}