
Tentando desenhar as linhas de "distância igual" do disco de Poincaré, como neste post:https://math.stackexchange.com/a/1343730/390217
Tentei usar funções hiperbólicas, mas não é isso, o resultado não está certo:
Aqui está o código, você pode obter algumas imagens legais brincando com os valores e funções.
\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}
Alguém sabe se posso chegar ao resultado certo ajustando as funções ou valores? Eu não saberia como fazer isso projetando as linhas temporais de um parabolóide como explicado no post mencionado acima ...
Obrigado por qualquer ajuda/sugestão
Responder1
Problema resolvido !
Entrei em contato com o autor da foto mencionada e ele gentilmente me enviou o código utilizado. Era uma lista muito longa de pontos de coordenadas gerados por computador, então ajustei-a para reduzi-la o máximo possível usando tikz-euclide e simetrias. O resultado é perfeito. Aqui está o código para os interessados:
\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}