我有一个半径为1的圆柱体。我需要绘制函数f(theta,z)= exp(theta-0.2 * z),其中theta是方位角,z是圆柱体的高度,如何这会在gnuplot中绘制吗?我也希望看到气缸。
答案 0 :(得分:2)
假设你的函数f(theta,z)给出径向坐标,这可以在参数模式下完成,其中变量u
和v
被分配给theta
和{{ 1}},分别为:
z
注意我已缩小你的功能(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 parametric
和u
给出的。在你的情况下(圆柱坐标)u = theta,所以x = r cos(u)和y = r sin(u); v = z。由于你的函数f(或0.01 * f)给出了径向坐标,x = f * cos(u)和y = f * sin(u)。