
Ich möchte z=x^2+y^2
auf dem Intervall zeichnen 0<z<9
. Normalerweise verwende ich einfach pgfplots
mit dem addplot3
Befehl, und für rechteckige Bereiche scheint das nicht allzu viel Mühe zu verursachen. Beispiel (ausGibt es eine einfache Möglichkeit, in TikZ eine Regelfläche wie ein hyperbolisches Paraboloid zu zeichnen?):
In meinem Fall möchte ich jedoch ein Paraboloid zeichnen und die Kante der Kurve soll r=3
in der z=9
Ebene liegen. Mein erster Versuch war ungefähr so (angepasst von der vorherigen Frage):
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=-3,ymin=-3,zmin=0,xmax=3,ymax=3,zmax=10]
\addplot3 [surf,draw=none,restrict z to domain=0:9] {x^2+y^2};
\end{axis}
\end{tikzpicture}
\end{document}
Offensichtlich verursacht die Domäne ein Problem: Das Paraboloid lässt sich überhaupt nicht schön ausdrucken, da der letzte ausgewertete Z-Wert nicht bei liegt z=9
, sondern eher irgendwo in der Nähe von unter z=9
, und dabei für jedes Koordinatenpaar (x,y) variiert.
Ich könnte festlegen samples y=300
, aber die Kompilierungszeit wäre wahnsinnig lang. Außerdem begrenzt es die Möglichkeiten des Dokuments, da ich viel Stapelspeicherplatz verbrauche.
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=-3,ymin=-3,zmin=0,xmax=3,ymax=3,zmax=10]
\addplot3 [surf,draw=none,restrict z to domain=0:9,samples y=300] {x^2+y^2};
\end{axis}
\end{tikzpicture}
\end{document}
Es gibt doch sicher einen besseren Weg, das zu tun?
Antwort1
Wie percusse im Kommentar sagte, könnten Sie Polarkoordinaten verwenden:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=-3,ymin=-3,zmin=0,xmax=3,ymax=3,zmax=10]
\addplot3 [surf,draw=none,restrict z to domain=0:9, data cs=polar, domain=0:360, y domain=0:3] (x, y, y^2);
\end{axis}
\end{tikzpicture}
\end{document}