对于一个项目,我想在双曲空间中绘制一个特定区域。该区域的边界由线段和圆弧组成。我可以draw
为线段或圆弧调用该函数:
\draw (a,b) -- (c,d);
\draw (a,b) arc (theta1:theta2:r);
我尽可能准确地找到端点(这样就很好)。
arc 函数定义如下
(a,b)
是起点theta1
是凝视角度theta2
是结束角度
TiKZ 的角度约定非常令人困惑,经过多次反复试验后,我意识到我的半径始终为 1,并且我可以使用的两个点是 ( ± 1/2, √3/2 ),起点和(a,b)
终点(c,d)
的半径。
我主要需要灰色阴影区域(A)、它在单位圆下的反转(B)和并集(A + B),它看起来有点像铅笔。
显而易见的部分(现在)是我的线需要向内推 0.5,然后我必须用铅笔设置并找到垂直线与圆圈相交的角度(可能是 60°)?
然而,对于较小的圆,这种简单的绘制练习会变得一团糟。但是,保角映射可以保留欧几里得角;当我们迭代 SL(2,Z) 时,交点可能会稍微旋转。
这是我的错误代码:
\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}
答案1
您可以利用圆心与下一个圆的交点之间的夹角为 60 度这一事实,并使用例如({cos(60)},{sin(60)})
作为坐标。然后绘制一条包含几个圆弧和一些直线的路径。
我还没有在这里添加所有的标签,你想重现你的手绘草图吗?
\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}