Como sua forma tem tangentes verticais, ela não pode ser gravada como z=f(x,y)
, portanto, splot <function>
não pode ser usado. No entanto, você pode plotar dados de um arquivo, ver, e. uma solução para plotar cubos: link
Para usar o gnuplot para gerar os dados em si, você pode usar o pseudo-arquivo "++" e os modificadores, aqui está como plotar um cilindro:
splot [-1:1][-1:1][0:1] '++' u (cos(pi*$1)):(sin(pi*$1)):($2) w lines
Para traçar a superfície superior, você pode usar o mesmo truque:
replot '++' u ($2*cos(pi*$1)):($2*sin(pi*$1)):1 w lines
Para a sua forma precisa, pequenas alterações são necessárias. Eu aconselho que você defina funções para os cálculos de coordenadas xey, eles podem usar GPVAL_X_MIN
e co. para normalizar as variáveis $1
e $2
na faixa relevante independentemente dos intervalos de plotagem.