
我有兩個 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 頁的範例這裡
\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
在軸上的投影並繪製它的計數。