使用參數圖或極座標繪製等高線圖

使用參數圖或極座標繪製等高線圖

我有兩個 3D 圖,一個是極座標圖,另一個是參數圖。我想在同一個地塊上也有輪廓。這些是目前的地塊:

橢圓拋物面

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

我現在的問題是:我如何自動繪製兩個圖的輪廓,因為它們是透過極座標或參數定義的?拋物面的x和輪廓y只是硬編碼的。

我正在尋找(如果有的話)一種自動創建輪廓的方法,而不關心它使用的座標。有點像第 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在軸上的投影並繪製它的計數。

相關內容