Da Ihre Form vertikale Tangenten hat, kann sie nicht als geschrieben z=f(x,y)
und daher splot <function>
nicht verwendet werden. Sie können jedoch Daten aus einer Datei plotten, z. B. eine Lösung zum Plotten von Cubes: http://www.gnuplotting.org/plotting-cubes/
Um mit gnuplot die Daten selbst zu generieren, können Sie die Pseudodatei "++" und Modifikatoren verwenden. So zeichnen Sie einen Zylinder:
splot [-1:1][-1:1][0:1] '++' u (cos(pi*$1)):(sin(pi*$1)):($2) w lines
Zum Zeichnen der oberen Fläche können Sie denselben Trick verwenden:
replot '++' u ($2*cos(pi*$1)):($2*sin(pi*$1)):1 w lines
Für Ihre genaue Form sind geringfügige Änderungen erforderlich. Ich rate Ihnen, Funktionen für die x- und y-Koordinatenberechnung zu definieren, die Sie verwenden können GPVAL_X_MIN
und co. um die Variablen $1
und $2
den relevanten Bereich unabhängig von den Darstellungsbereichen zu normalisieren .