双曲三角形を描くにはどうすればいいですか?

双曲三角形を描くにはどうすればいいですか?

これをTiで描く方法について何かアイデアはありますかZ? いろいろ試してみましたが、満足のいくものはありませんでした。私が試したのは、最も簡単な方法、つまり

\begin{tikzpicture}
    \draw (point) arc (angle contitions);
\end{tikzpicture}

必要なのは次の画像のようなものです:

ここに画像の説明を入力してください

私もこのコードを使ってみました(双曲幾何学の図を描くには、例えばtikzを使用します。

    \begin{document}

\newcommand{\hgline}[2]{
\pgfmathsetmacro{\thetaone}{#1}
\pgfmathsetmacro{\thetatwo}{#2}
\pgfmathsetmacro{\theta}{(\thetaone+\thetatwo)/2}
\pgfmathsetmacro{\phi}{abs(\thetaone-\thetatwo)/2}
\pgfmathsetmacro{\close}{less(abs(\phi-90),0.0001)}
\ifdim \close pt = 1pt
    \draw[blue] (\theta+180:1) -- (\theta:1);
\else
    \pgfmathsetmacro{\R}{tan(\phi)}
    \pgfmathsetmacro{\distance}{sqrt(1+\R^2)}
    \draw[blue] (\theta:\distance) circle (\R);
\fi
}

\begin{tikzpicture}
\draw (0,0) circle (1);
\clip (0,0) circle (1);
\hgline{30}{-30}
\hgline{180}{270}
\hgline{30}{120}
\hgline{0}{180}

\end{tikzpicture}

しかし、これにより、ディスク上に埋め込まれた線を描くことができ、円を削除しようとすると、コードは役に立たなくなります。

ありがとう。

答え1

このようなもの?

\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}[font=\sffamily]
 \path (0,0) coordinate (A) (4,1) coordinate (B) (2,-2) coordinate (C);
 \draw[thick,path picture={
 \foreach \X in {A,B,C}
 {\draw[line width=0.4pt] (\X) circle (1);}}] (A) node[left]{$O$} to[bend right=12] 
 (B) node[above right]{$g_2^{-1}\cdot O$} to[bend right=15] 
 (C) node[below]{$g_1^{-1}\cdot O$} to[bend right=20] cycle;
 \node at (barycentric cs:A=1,B=1,C=1) {$<180^\circ$};
\end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

編集: 明示的に構築された円弧を使用します。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[font=\sffamily]
 \path (0,0) coordinate (A) (4,1) coordinate (B) (2,-2) coordinate (C);
 \draw[thick,path picture={
 \foreach \X in {A,B,C}
 {\draw[line width=0.4pt] (\X) circle (1);}}]
 let \p1=($(B)-(A)$),\p2=($(C)-(B)$),\p3=($(C)-(A)$),
 \n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)},\n3={atan2(\y3,\x3)},
 \n4={veclen(\y1,\x1)},\n5={veclen(\y2,\x2)},\n6={veclen(\y3,\x3)} in
 (A) node[left]{$O$}  arc(-90-15+\n1:-90+15+\n1:{\n4/(2*sin(15))})
 --(B) node[above right]{$g_2^{-1}\cdot O$} 
  arc(-90-15+\n2:-90+15+\n2:{\n5/(2*sin(15))})
 --(C) node[below]{$g_1^{-1}\cdot O$} 
 arc(90-15+\n3:90+15+\n3:{\n6/(2*sin(15))}) -- cycle;
 \node at (barycentric cs:A=1,B=1,C=1) {$<180^\circ$};
\end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

関連情報