TikZ-Plot zum Thema Unendlichkeiten

TikZ-Plot zum Thema Unendlichkeiten

Ich habe ein paar Probleme beim Zeichnen eines Bildes mit TikZ. Das Bild, das ich erhalten möchte, sieht wie folgt aus:

Dieses hier.

Hier ist mein Code:

\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usetikzlibrary{positioning,patterns}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[scale=2]
\clip(0,0) rectangle (6,6);
\draw[thick] (3.,3.) circle ({pi/2});
\pgfmathsetmacro{\x}{1};
\draw[thick,pattern=north west lines, pattern color=black] (3.,3.) circle ({rad(atan(\x))});
\begin{scope}[shift={(3,3)}]
\foreach \z in {0.5,1,2,3}
\draw [variable=\y,domain=-\z+0.001:\z-0.001] plot ({deg(\y)+90}:{rad(atan( (\x*(1-(cosh(\x*\y)/cosh(\x*\z))^2)^(-0.5)))});
\end{scope}
\end{tikzpicture}
\end{document}

Was ich erhalte ist

Bildbeschreibung hier eingeben

Ich habe zwei Probleme:

  • Ich habe Unendlichkeiten in meiner Berechnung. Das hat alle möglichen Probleme verursacht, also habe ich die Domäne im Diagramm so eingeschränkt, dass ich den singulären Punkt nicht einschließe (der dann durch die arctan-Funktion auf einen endlichen Wert abgebildet wird). Auf diese Weise kann ich jedoch nicht den richtigen Wert erreichen und die Diagramme berühren den äußeren Kreis nicht.
  • Die Handlungsstränge sind nicht glatt.

Irgendwelche Ideen, wie man das lösen kann?

Antwort1

Das Kompilieren dauert ein bisschen, aber es sieht so aus, als ob es nah drankommt. Ich habe pgfplots verwendet, um die Plot- und Unendlichkeitsprobleme usw. zu behandeln. Es bietet bereits eine polaraxisUmgebung, sodass keine zusätzliche Arbeit erforderlich ist. Sie können auch eine Gnuplot-Direktive aufrufen, um mehr Präzision zu erzielen. Ich würde jedoch dringend empfehlen, die Farbtabelle zu ändern. Sogar Matlab hat 2014b endgültig aufgehört, sie zu verwenden.

\documentclass{standalone}
\usepackage{pgfplots}
\usetikzlibrary{patterns,pgfplots.polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[samples=200,grid=none,enlargelimits=false,
                  xtick=\empty,ytick=\empty,axis y line={none}]
 \pgfmathsetmacro{\x}{1};
 \pgfplotsinvokeforeach{0.15,0.3,...,3,pi}{
 \addplot[mesh,domain=-#1+1e-3:#1-1e-3,variable=\y,
          point meta=12-\plotnumofactualtype, % For color match
          point meta max=30] 
         ({deg(\y)+90},{rad(atan( (\x*(1-(cosh(\x*\y)/cosh(\x*#1))^2)^(-0.5)))});}
\end{polaraxis}
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Dies ist eine Lektion im Schummeln (Sie können meine Kommentare sehen) und keine echte Lösung.

\documentclass[varwidth,border=50]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,patterns}

\begin{document}
  \begin{tikzpicture}[scale=2]
    \clip (3.,3.) circle ({pi/2 - .05});
    \pgfmathsetmacro{\x}{1};
    \draw[thick,pattern=north west lines, pattern color=black] (3.,3.) circle ({rad(atan(\x))});
    \begin{scope}[shift={(3,3)}]
      \foreach[evaluate=\z as \c using .3*\z] \z in {.1,.3,...,3,3.14} {
        \definecolor{currentcolor}{hsb}{\c,1,1}
        \draw [variable=\y,domain=-\z+0.001:\z-0.001, smooth, samples=100, currentcolor] 
        plot ({deg(\y)+90}:{rad(atan( (\x*(1-(cosh(\x*\y)/cosh(\x*\z))^2)^(-0.5)))});
      }
    \end{scope}
    \draw[very thick] (3.,3.) circle ({pi/2 - .059});
  \end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

BEARBEITEN:Und hier ist eine echte Lösung, atan2um Unendlichkeitsprobleme zu vermeiden.

\documentclass[varwidth,border=50]{standalone}
\usepackage{tikz}
\usetikzlibrary{patterns}

\begin{document}
  \begin{tikzpicture}[scale=2]
    \draw[thick,pattern=north west lines, pattern color=black] circle (pi/4);
    \foreach[
      evaluate=\z as \c using \z/180,
      evaluate=\z as \chz using cosh(rad(\z))]
      \z in {10, 20, ..., 180} {
        \definecolor{currentcolor}{hsb}{\c,1,1}
        \draw [variable=\y,domain=-\z:\z, smooth, samples=100, currentcolor]
            plot({\y + 90} : {rad(atan2(\chz, sqrt((\chz)^2 - (cosh(rad(\y)))^2)))});
      }
    \draw[very thick] circle (pi/2);
  \end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen