Ich versuche, eine Hyperbel zu zeichnen, aber aus irgendeinem Grund entsteht dadurch ein Loch in der Zeichnung und ich kann nicht herausfinden, woran das liegt:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue!50!black] plot[domain=(1/sqrt(2)):2,smooth,thick,samples=100] (\x,{sqrt(2*(\x*\x)-1)});
\draw[blue!50!black] plot[domain=-2:(-1/sqrt(2)),smooth,thick,samples=100] (\x,{sqrt(2*(\x*\x)-1)});
\draw[blue!50!black] plot[domain=(1/sqrt(2)):2,smooth,thick,samples=100] (\x,{-sqrt(2*(\x*\x)-1)});
\draw[blue!50!black] plot[domain=-2:(-1/sqrt(2)),smooth,thick,samples=100] (\x,{-sqrt(2*(\x*\x)-1)});
\end{tikzpicture}
\end{document}
Antwort1
Die Antwort auf die Frage, warum es eine Lücke gibt, lautet
weil LaTeX kein Computeralgebrasystem ist.
Also müssen wir Ti helfenkZ, um das Richtige zu tun. Wenn wir eine glatte, kontinuierliche Kurve wollen, möchten wir in jedem Fall jede Komponente in einem Strich zeichnen. Dies kann erreicht werden, indem man eine andere Parametrisierung wählt, wie zum Beispiel
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue!50!black] plot[domain=-2:2,smooth,thick,samples=101]
({(1/sqrt(2))+abs(\x)},{sign(\x)*sqrt(2*\x*\x+2*sqrt(2)*abs(\x))});
\draw[blue!50!black] plot[domain=-2:2,smooth,thick,samples=101]
({-(1/sqrt(2))-abs(\x)},{sign(\x)*sqrt(2*\x*\x+2*sqrt(2)*abs(\x))});
\end{tikzpicture}
\end{document}
Eine vielleicht noch einfachere Reparametrisierung ist
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue!50!black] plot[domain=-4:4,smooth,thick,samples=101]
({sqrt(1/2+\x*\x/2)},\x);
\draw[blue!50!black] plot[domain=-4:4,smooth,thick,samples=101]
({-sqrt(1/2+\x*\x/2)},\x);
\end{tikzpicture}
\end{document}
Antwort2
So etwas könnte verwendet werden
\documentclass{standalone} % or whatever
\usepackage{tikz,pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=-2,
xmax=2,
samples=101,
unbounded coords=jump,
axis lines=middle,
]
\begin{scope}[
domain=-2:-1/sqrt(2),
]
\addplot[smooth] {sqrt(2*(\x*\x)-1)};
\addplot[smooth] {-sqrt(2*(\x*\x)-1)};
\end{scope}
\begin{scope}[
domain=1/sqrt(2):2,
]
\addplot[smooth] {sqrt(2*(\x*\x)-1)};
\addplot[smooth] {-sqrt(2*(\x*\x)-1)};
\end{scope}
\end{axis}
\end{tikzpicture}
\end{document}
Beachten Sie, dass wir eigentlich nur tun können
\addplot [domain=-2:2] {sqrt(2*(\x*\x)-1)};
für den oberen Teil. Es wird einfach automatisch. Aber dann bekommen wir das Loch. Ich gehe davon aus, dass es irgendwo eine Option gibt, mit der wir es anweisen können, darüber zu plotten -2:2
und zusätzlich auszuwerten+- 1/sqrt(2)
Antwort3
Die einfachste Lösung besteht darin, einfach eine Verbindungslinie über die Lücke zu ziehen.
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue!50!black] plot[domain=2:(1/sqrt(2)),smooth,thick,samples=100] (\x,{sqrt(2*(\x*\x)-1)}) --
plot[domain=(1/sqrt(2)):2,smooth,thick,samples=100] (\x,{-sqrt(2*(\x*\x)-1)});
\draw[blue!50!black] plot[domain=-2:(-1/sqrt(2)),smooth,thick,samples=100] (\x,{sqrt(2*(\x*\x)-1)}) --
plot[domain=(-1/sqrt(2)):-2,smooth,thick,samples=100] (\x,{-sqrt(2*(\x*\x)-1)});
\end{tikzpicture}
\end{document}