パラメトリックプロットまたは極座標を使用して等高線図を描く

パラメトリックプロットまたは極座標を使用して等高線図を描く

3D プロットが 2 つあります。1 つは極座標、もう 1 つはパラメトリックです。同じプロットに等高線も表示したいと思います。現在のプロットは次のとおりです。

楕円放物面

\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}

楕円双曲面

\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}

私の質問は、極座標またはパラメータによって定義されている両方のプロットの輪郭をどのように自動的にプロットできるかということです。放物面のxyの輪郭はハードコードされているだけです。

私は、座標を気にせずに輪郭を自動的に作成する方法を探しています(もしあれば)。156ページの例のようなものです。ここ

私もこのようなものを手に入れました パート2 次の行を追加します。

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

しかし、セクションを手動で知る必要があるため、この解決策は最適ではないようです。これを実現する方法はありますか?


編集 1: おそらく、私のニーズを明確にする必要があります。fプロットしたい関数があるとします。その関数の直交座標式、何らかのパラメータ化、または極座標を使用できます。いずれの方法でも同じ結果が得られます。最初のケースでは、 の助けを借りて輪郭を見つけるのはcontour gnuplot非常に簡単で、元の関数を入力するだけです。

fただし、パラメトリック形式または極座標を使用している場合は、それらをプロットするための等高線方程式をすでに知っている必要があります。f任意の形式で記述された任意のものに対して、等高線をプロットできるように問題を一般化する方法はありますか?

f基本的には、関数を軸上に投影し、その輪郭をプロットしたいと思います。

関連情報