Für ein Projekt wollte ich eine bestimmte Region im hyperbolischen Raum zeichnen. Die Grenzen dieser Region bestehen aus Liniensegmenten und Kreisbögen. Ich kann die draw
Funktion für Liniensegmente oder Kreisbögen aufrufen:
\draw (a,b) -- (c,d);
\draw (a,b) arc (theta1:theta2:r);
Ich finde die Endpunkte so genau wie möglich (das ist in Ordnung).
Die Bogenfunktion ist definiert als
(a,b)
ist der Ausgangspunkttheta1
ist der Blickwinkeltheta2
ist der Endwinkel
Die Winkelkonventionen von TiKZ sind so verwirrend, dass ich nach langem Ausprobieren festgestellt habe, dass mein Radius immer 1 ist und die beiden Punkte (± 1/2, √3/2) sind, die mir zur Verfügung stehen, der Startpunkt, (a,b)
der Endpunkt (c,d)
und der Radius des Kreises.
Hauptsächlich brauche ich den grau schattierten Bereich (A), seine Inversion unter dem Einheitskreis (B) und die Vereinigung (A+B), die irgendwie wie ein Bleistift aussieht.
Der offensichtliche Teil (jetzt) ist, dass meine Linien um 0,5 nach innen gedrückt werden müssen, dann muss ich mit einem Bleistift nachzeichnen und herausfinden, in welchem Winkel die vertikale Linie den Kreis berührt (vielleicht 60°)?
Bei kleineren Kreisen wird diese einfache Zeichenübung jedoch zu einem Chaos. Bei konformen Abbildungen bleiben jedoch die euklidischen Winkel erhalten; die Schnittpunkte können sich beim Durchlaufen von SL(2,Z) ein wenig drehen.
Hier ist mein fehlerhafter Code:
\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}
Antwort1
Sie können sich die Tatsache zunutze machen, dass der Winkel zwischen dem Mittelpunkt eines Kreises und seinem Schnittpunkt mit dem nächsten Kreis 60 Grad beträgt, und z. B. ({cos(60)},{sin(60)})
als Koordinate verwenden. Zeichnen Sie dann einen Pfad, der einige Bögen und einige gerade Linien enthält.
Ich habe hier nicht alle Beschriftungen hinzugefügt. Möchten Sie Ihre handgezeichnete Skizze reproduzieren?
\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}