Seite 1 von 1

3D-Funktionenplot

Verfasst: 04.11.2021, 17:53
von bbock
Angeregt durch einen Artikel im Joyce-Sonderheft 2'87 habe ich mich mal wieder mit dem Thema 3D-Funktionen befasst - und wie man damit schöne Grafiken auf den Bildschirm unseres Lieblingscomputers zaubern können.

Das Originalprogramm von Christoph Reimann aus Aachen ist in Mallard Basic geschrieben und nutzt die GSX-Bibliothek. Damit diese unter Mallard Basic zur Verfügung steht, muss eine Diskette entsprechend vorbereitet werden, d.h. BASIC.COM muss mit GENGRAF.COM erweitert werden und man benötigt weitere Systemdateien (ASSIGN.SYS, DDFXHR8.PRL, DDFXLR8.PRL, DDSCREEN.PRL und GSX.SYS).

Hier ist die Basic-Datei, einmal im Mallard-Basic-Format (3DPLOT.BAS) und einmal im ASCII-Format (3DPLOTA.BAS):

3DPLOT_BASIC.zip
3DPLOT.BAS und 3DPLOTA.BAS
(3.01 KiB) 441-mal heruntergeladen

Nach dem Booten der Diskette A startet man Mallard Basic durch Eingabe von basic. Dann lädt man das Programm mit LOAD "3DPLOT" und startet mit RUN. Das Hauptmenü erscheint und man kann die Funktion editieren, plotten und das Programm beenden. Das Editieren öffnet die Zeile 170 mit der Funktion im Basic-Editor; wenn man sie angepasst hat, muss man das Programm mit RUN neu starten, dann kann man die geänderte Funktion mit dem Menüpunkt 2 plotten. Dazu muss man einige Parameter eingeben; es folgen zwei Beispiel-Funktionen mit den dazu passenden Parametern.

Anm.: Als Variablen der Funktion sind u, v, z zu verwenden (nicht x, y, z).

Re: 3D-Funktionenplot

Verfasst: 04.11.2021, 18:06
von bbock
Funktion 1: z=sin(sqr(u*u+v*v))

x-min: -5
x-max: 5
y-min: -5
y-max: 5
Anzahl Schritte: 30
z-Streckung: 3000
Vergrößerung: 1

z=sin(sqr(u*u+v*v))
z=sin(sqr(u*u+v*v))
function1.png (25.33 KiB) 5755 mal betrachtet

Re: 3D-Funktionenplot

Verfasst: 04.11.2021, 18:08
von bbock
Funktion 2: z=sin(u*u+v*v)

x-min: -3
x-max: 3
y-min: -3
y-max: 3
Anzahl Schritte: 40
z-Streckung: 3000
Vergrößerung: 1

z=sin(u*u+v*v)
z=sin(u*u+v*v)
function2.png (65.48 KiB) 5754 mal betrachtet

Re: 3D-Funktionenplot

Verfasst: 04.11.2021, 18:14
von bbock
Das geht natürlich auch schneller, und zwar ohne GSX und mit TurboPascal statt Mallard Basic. Ich habe das Basic-Programm portiert; hier ist das Ergebnis:

3DPLOT10_src.zip
Quellcode von 3DPLOT V1.0
(5.66 KiB) 490-mal heruntergeladen
3DPLOT10_com.zip
Ausführbares Programm 3DPLOT V1.0
(8.88 KiB) 529-mal heruntergeladen