푸앵카레 원반의 등각선 그리기

푸앵카레 원반의 등각선 그리기

이 게시물과 같이 푸앵카레 원판의 "동일 거리" 선을 그리려고 합니다.https://math.stackexchange.com/a/1343730/390217

쌍곡선 함수를 사용해 보았지만 그게 아니고 결과가 올바르지 않습니다. 잘못된 포인케어 디스크

여기에 코드가 있습니다. 값과 함수를 가지고 놀면서 멋진 그림을 얻을 수 있습니다.

\documentclass[border=5pt]{standalone}
\usepackage{tkz-euclide}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{fp}
\usepackage{comment}

\begin{document}
\begin{tikzpicture}[scale=3]
  \tkzDefPoint(0,0){O}
  \tkzDefPoint(1,0){A}
  \tkzDrawCircle(O,A)
  \draw (A) -- (-1,0);
  \draw (0,1) -- (0,-1);
\foreach \nt in {0.1,0.2,...,1}{
\pgfmathsetmacro\nx{cosh(\nt)}
\pgfmathsetmacro\ny{sinh(\nt)}
\pgfmathsetmacro\mx{(-\nx)}
\pgfmathsetmacro\my{(-\ny)}
  \tkzClipCircle(O,A)
  \tkzDefPoint(\nx,\ny){z1}
  \tkzDefPoint(\nx,\my){z2}
  \tkzDefPoint(\mx,\my){z3}
  \tkzDefPoint(\mx,\ny){z4}
  \tkzDefPoint(\ny,\nx){z5}
  \tkzDefPoint(\my,\nx){z6}
  \tkzDefPoint(\my,\mx){z7}
  \tkzDefPoint(\ny,\mx){z8}
  \tkzDrawCircle[orthogonal through=z1 and z2](O,A)
  \tkzDrawCircle[orthogonal through=z3 and z4](O,A)
  \tkzDrawCircle[orthogonal through=z1 and z4](O,A)
  \tkzDrawCircle[orthogonal through=z2 and z3](O,A)
  \tkzDrawCircle[orthogonal through=z5 and z6](O,A)
  \tkzDrawCircle[orthogonal through=z7 and z8](O,A)
  \tkzDrawCircle[orthogonal through=z5 and z8](O,A)
  \tkzDrawCircle[orthogonal through=z6 and z7](O,A)
}
\end{tikzpicture}
\end{document}

함수나 값을 조정하여 올바른 결과를 얻을 수 있는지 아는 사람이 있나요? 위에서 언급한 게시물에서 설명한 것처럼 포물선의 시간과 유사한 선을 투영하여 이를 얻는 방법을 모르겠습니다...

도움/제안을 보내주셔서 감사합니다.

답변1

문제 해결됨 !

언급된 사진의 작성자에게 연락했더니 사용된 코드를 친절하게 보내주셨습니다. 컴퓨터가 생성한 매우 긴 좌표점 목록이므로 tikz-euclide 및 대칭을 사용하여 이를 최대한 줄이기 위해 조정했습니다. 결과는 완벽합니다. 관심 있는 분들을 위한 코드는 다음과 같습니다.

\documentclass[border=5pt]{standalone}
\usepackage{tkz-euclide}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{fp}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{10pt}%

\begin{document}

\begin{tikzpicture}
\pgfsetlinewidth{0.4pt}
\useasboundingbox (0in,0in) rectangle (6in,6in);
%circle
\def\rad{3in}
\node (O) at (3in,3in) []{};
\draw (O) circle (\rad);
\node (A) at (6in,3in) []{};
\pgfsetlinewidth{0.8pt}
%arcs
\draw (3in,0)--(3in,6in); %vertical
\draw (0,3in)--(6in,3in); %horizontal
\foreach \x/\y in {
2.27947/0.210234,
1.67325/0.431525,
1.22212/0.705443,
0.906042/0.973135,
0.687819/1.20952,
0.53563/1.40973,
0.427272/1.57697,
0.34825/1.71661,
0.289239/1.83382,
0.244185/1.93299,
0.209092/2.01764,
0.181261/2.09053,
0.158834/2.15381,
0.140503/2.20918,
0.125327/2.25798}{
  \tkzClipCircle(O,A)
\pgfmathsetmacro\ny{6-\y}
  \node (z1) at (\x in,\y in) []{};
  \node (z2) at (\x in,\ny in) []{};
  \node (z3) at (\y in,\x in) []{};
  \node (z4) at (\ny in,\x in) []{};
\pgfmathsetmacro\nx{6-\x} 
  \node (z5) at (\y in,\nx in) []{};
  \node (z6) at (\ny in,\nx in) []{};
  \node (z7) at (\nx in,\y in) []{};
  \node (z8) at (\nx in,\ny in) []{};
  \tkzDrawCircle[orthogonal through=z1 and z2](O,A)
  \tkzDrawCircle[orthogonal through=z3 and z4](O,A)
  \tkzDrawCircle[orthogonal through=z5 and z6](O,A)
  \tkzDrawCircle[orthogonal through=z7 and z8](O,A)
}
\end{tikzpicture}
\end{document}

결과 : 푸앵카레디스크

관련 정보