
Grafik, 1D, 2D, 3D
Visualisierung war mir bei meinen Versuchen immer sehr wichtig. Anschauung der Prozesse, der Ergebnisse.
Eine Grafik sagt mehr als tausend Worte und das nicht nur bei der Finanzbuchhaltung oder Börsenkursen.
Liniendiagramme sind recht einfach, dafür gibt es in meiner IDE ein Objekt (TAChart genannt) oder man bedient sich
allgemeiner Bibliotheken wie gnuplot etc...
2D ist schon schwieriger, aber eigentlich auch keine Hürde, zumal damit ja auch nur Skalenfelder dargestellt
werden können. Für einige Anwendungen, wie z.B. Dichtefeldern (CT-Datent, Chemieprogramm, Bildbearbeitung) habe
ich schon Grafikbeschleuniger wie OpenCL oder OpenCV eingesetzt. Ansonsten erstmal alles von Anfang an selbst
umsetzen um dann festzustellen, dass das die Profis wesentlich schneller umgesetzt hatten als ich. aber ich
hatte es verstanden. Ein großes feld ist hier die Bildbearbeitung oder, was mich mehr interessiert, Bilderkennung.
Es finden sich eine Vielzahl echt kleverer Ideen in diesem Bereich, die programmiertechnisch gar nicht schwierig sind,
aber wenn ich mir die Papers dazu anschaue, werde ich von Mathe-Kauderwelsch erschlagen.
Bei 3D, aus meiner Sicht die Königsdisziplin, fängt es an Spaß zu machen. Räumliche Objekte und deren
Interaktion zu visualisieren, das bringt physikalisches Verständnis. Wenn es die Datenmenge und die Mathematik
zulässt bitte auch gern in Echtzeit. Mit den Simulationen kommt Verstsändnis. Egal ob es Moleküle oder das
Sonnensystem sind. Es ist faszinierend die bewegungen auf dem Bildschirm zu verfolgen, die Strukturen zu erkennen...
Im Wesentlichen ist dafür Vektoralgebra und lineare Algebra gefragt. Es darf dann auch gern Parallelisierung ins
Spiel kommen, sei es mittels Grafikkarte (OpenGL, Cuda,Vulkan) oder Thread-Programmierung. Im Großrechnerbereich
(der mir leider nicht zu Verfügung steht) findet hier MPI breite Anwendung. Grob gesagt unterhalten sich die
einzelnen CPU's und tauschen Daten aus. Mein kleines Maschinchen mit NVIDIA und Intel (4 cores) beschleunigt
etwa 20-1000 fach gegenüber einer Single-thread Programmierung ohne Grafikhardware. Da kommt schon mal bei der
einen oder anderen simulation Freude auf, wenn mann 100000 Partikel gravitativ in Echtzeit visualisieren will.