Zeichnen Sie einen Toroid mit rechteckigem Querschnitt in 3D

2

Weiß jemand, wie man mit gnuplot in 3D die Oberfläche einer Scheibe auf der XY-Ebene mit einer bestimmten Dicke plottet und ein kreisförmiges Loch in der Mitte und flache obere und untere Oberflächen an festen Stellen hat z(ein auf der oberen und unteren Oberfläche abgeflachter Torus) ? ).

Fred
quelle

Antworten:

0

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_MINund co. um die Variablen $1und $2den relevanten Bereich unabhängig von den Darstellungsbereichen zu normalisieren .

Joce
quelle