1
我有一個半徑爲1的圓柱體。我需要繪製函數f(theta,z)= exp(theta-0.2 * z),其中theta是方位角,z是沿着圓柱體的高度,這將如何繪製在gnuplot?我希望看到圓柱體。使用gnuplot繪製圓柱座標中的方程
我有一個半徑爲1的圓柱體。我需要繪製函數f(theta,z)= exp(theta-0.2 * z),其中theta是方位角,z是沿着圓柱體的高度,這將如何繪製在gnuplot?我希望看到圓柱體。使用gnuplot繪製圓柱座標中的方程
假設你的函數f(THETA,z)中給出了徑向座標,這可在參數化模式,其中變量u
和v
被分配給theta
和z
,分別進行:
set parametric
set urange [0:2*pi]
set vrange [-1:1]
f(u,v)=exp(u-0.2*v)
set xrange [-2:2]
set yrange [-2:2]
set zrange [-2:2]
set isosamples 100,10
splot cos(u),sin(u),v title "cylinder", \
0.01*cos(u)*f(u,v),0.01*sin(u)*f(u,v),v title "function (scaled down)"
注意我縮小了函數的範圍(0.01 * f而不是f),因爲它與圓柱體的大小相比太大了。
set parametric
使用座標(x,y,z)的三元組,其中每個座標以獨立變量u
和v
給出。在你的情況下(圓柱座標)u = theta,所以x = rcos(u)和y = rsin(u); v = z。由於你的函數f(或0.01 * f)給出徑向座標,x = f * cos(u)和y = f * sin(u)。
你的函數f(θ,z)是否給出徑向座標?否則,你會遇到4D問題,從可視化的角度來看,這非常複雜。 – Miguel
是的,它給出了徑向座標 –