surfplt
Ich habe mit Hilfe der Grafikbibliothek "OpenGL" eine Sammlung von
drei Programmen zur Visualisierung von Daten und damit auch von
Funktionen geschrieben.
Das Programm surfplt(1) visualisiert ein zweidimensionales Array
aus reellen Zahlen als gekrümmte Oberfläche, wobei die Zahlen die Höhe der
Oberflächenpunkte definieren.
Das Programm xyzplt(1) zeichnet innerhalb eines dreidimensionalen
Quaders Punkte oder Linien.
Das Programm xyplt(1) zeichnet in der xy-Ebene ebenfalls Punkte oder Linien.
Die Programme werden für die Benutzung nicht in Form einer Bibiliothek als
Unterprogramm aufgerufen, sondern als alleinstehende Programme ausgeführt.
Die Übergabe der Daten erfolgt über ASCII-Dateien mit einem bestimmten Format.
Wenn z.B. die Ergebnisse einer Berechnung visualisiert werden sollen, dann
speichert das Berechnungsprogramm die Ergebnisse in dem Datenformat von dem
Plotprogramm ab. Erst danach wird dann das Plotprogramm aufgerufen.
Die Datenformate in denen die ASCII-Dateien an die Plotprogramme übergeben
werden, sind in den englischen Handbuchseiten beschrieben.
Alle drei Programme werden ausschliesslich über die Kommandozeile gesteuert
und haben keine grafische Benutzeroberfläche.
xyzplt
Die Programme sind in den Programmiersprachen C und C++ formuliert
und werden mit dem GNU-C- und C++-Compiler übersetzt.
Sie benötigen die OpenGL Bibliothek ab Version 2.1, die GLU- und die
GLUT-Bibliothek.
Des Weiteren werden für die Darstellung von Text die Bibliotheken
"freetype" und "ftgl" benötigt.
Für die Erzeugung der Testdateien wird noch der GNU-Fortran Compiler benötigt.
Die Bibliotheken lassen sich bei den meisten Linux-Distributionen
mit dem Standard-Paketmanager installieren.
Ich habe die Programmsammlung unter Ubuntu 20.04 entwickelt, die
Programme müssten aber auch auf allen anderen aktuellen Distributionen
laufen.
Zum Kompilieren des Programms benötigt man die GNU C, C++ und Fortran Compiler und GNU make, welche man mit dem folgendem Befehl installiert:
sudo apt install gcc g++ gfortran make
Des Weiteren benötigt man die oben schon genannten Bibiliotheken, die man mit dem folgenden Befehl installiert:
sudo apt install libglu1-mesa libglu1-mesa-dev
freeglut3 freeglut3-dev libfreetype6 libfreetype6-dev libftgl2 libftgl-dev
Das Verzeichnis der Programmsammlung kann mit dem folgenden git-Befehl von github.com heruntergeladen werden:
xyplt
git clone -b master https://github.com/RalphTrenkler69/scientific-plots
Das Verzeichnis "scientific-plots" enthält danach den Source-Code. Mit folgenden Befehlen können sie das nach dem Download die Programme kompilieren und in /usr/local/bin installieren:
cd scientific-plots
make
sudo make install
Die verwendete Schrifttype (Font) kann im Makefile durch die Variable
FONT
angepasst werden.
Dort muss der Dateipfad für die .ttf
-Datei des Fonts stehen.
Sie können die Programme nach der Installation mit den folgenden Kommandos testen:
surfplt surftst5.dat
xyzplt xyztst4.dat
xyplt xytst1.dat
Die Handbuchseiten zu diesen Programmen können Sie mit den folgenden Befehlen aufrufen:
man surfplt
man xyzplt
man xyplt
Hier folgen die Handbuchseiten in HTML-Form zu den Programmen in englischer Sprache.