使用gnuplot绘制圆柱坐标中的方程

时间:2014-06-25 13:51:53

标签: plot gnuplot

我有一个半径为1的圆柱体。我需要绘制函数f(theta,z)= exp(theta-0.2 * z),其中theta是方位角,z是圆柱体的高度,如何这会在gnuplot中绘制吗?我也希望看到气缸。

1 个答案:

答案 0 :(得分:2)

假设你的函数f(theta,z)给出径向坐标,这可以在参数模式下完成,其中变量uv被分配给theta和{{ 1}},分别为:

z

enter image description here

注意我已缩小你的功能(0.01 * f而不是f),因为它与圆柱体的尺寸相比会太大。

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)" 使用坐标三元组(x,y,z),其中每个坐标都是根据自变量set parametricu给出的。在你的情况下(圆柱坐标)u = theta,所以x = r cos(u)和y = r sin(u); v = z。由于你的函数f(或0.01 * f)给出了径向坐标,x = f * cos(u)和y = f * sin(u)。