Zeichnen von Konturdiagrammen mit parametrischen Diagrammen oder Polarkoordinaten

Zeichnen von Konturdiagrammen mit parametrischen Diagrammen oder Polarkoordinaten

Ich habe zwei 3D-Diagramme, eines in Polarkoordinaten, das andere parametrisch. Ich möchte auf demselben Diagramm auch die Konturen haben. Dies sind die aktuellen Diagramme:

Elliptischer Paraboloid

\begin{tikzpicture}
    \begin{axis}[view={130}{30}]
      \addplot3 [surf,z buffer=sort,samples=30,domain=0:360,y domain=0:5, data cs=polar] (x,y,y^2);
      \addplot3 [contour gnuplot={contour dir=y,draw color=red,labels=false},y filter/.expression={5},] {x^2};
      \addplot3 [contour gnuplot={contour dir=x,draw color=blue,labels=false},x filter/.expression={5},] {y^2};
  \end{axis}
\end{tikzpicture}

Elliptischer Hyperboloid

\begin{tikzpicture}
  \begin{axis}[view={130}{30}]
    \addplot3[surf,domain=-1:1,y domain=0:360,z buffer=sort] ({cosh(x)*cos(y)}, {cosh(x)*sin(y)}, {sinh(x)});
  \end{axis}
\end{tikzpicture}

Meine Frage ist nun: Wie kann ich die Konturen beider Diagramme automatisch darstellen, da sie über Polarkoordinaten oder Parameter definiert sind? Die xund yKonturen des Paraboloids sind einfach fest codiert.

Ich suche (falls es eine gibt) nach einer Möglichkeit, die Konturen automatisch zu erstellen, ohne sich darum zu kümmern, welche Koordinaten verwendet werden. So ähnlich wie das Beispiel auf Seite 156Hier

Ich habe auch so etwas bekommen Teil 2 Fügen Sie die folgende Zeile hinzu:

\addplot3 [contour gnuplot={contour dir=z,draw color=black,labels=false},z filter/.expression={25},] {y^2+x^2};

aber die Lösung scheint nicht optimal, da ich den Abschnitt manuell kennen muss. Gibt es eine Möglichkeit, dies zu erreichen?


Bearbeitung 1: Ich sollte vielleicht meinen Bedarf klarstellen. Angenommen, ich habe eine Funktion f, die ich darstellen möchte. Ich kann ihre kartesische Formel, eine Parametrisierung oder Polarkoordinaten verwenden. In beiden Fällen sollte das gleiche Ergebnis erzielt werden. Im ersten Fall ist das Finden von Konturen mithilfe von contour gnuplotganz einfach und ich muss nur die ursprüngliche Funktion eingeben.

Wenn ich fjedoch eine parametrische Form habe oder Polarkoordinaten verwende, muss ich die Konturgleichungen bereits kennen, um sie zeichnen zu können. Gibt es eine Möglichkeit, das Problem so zu verallgemeinern, dass fich für jede beliebige Form die Konturen zeichnen kann?

Grundsätzlich hätte ich gern die Projektion der Funktion fauf die Achse und möchte ihre Kontur darstellen.

verwandte Informationen