Nachdem ich meinen Landschaftsgenerator abgeschlossen hatte, hat mich das Ergebnis der Vorschau nicht zufrieden gestellt. Jedes Mal PovRay zu starten, nur um eine 3D-Ansicht zu sehen war einfach zu unbefriedigend. Zeit, sich einmal mit Java3D zu beschäftigen...
Bevor ich das allerdings tat, probierte ich eine selbstgemachte 3D-Visualisierung aus. Den Code, den ich als Grundlage benutzte, hatte ich im Netz gefunden. Nach der Inbetriebnahme stellte sich aber relativ schnell heraus, daß dieser Code meinen Anforderungen nicht genügte: der Ressourcenhunger war enorm.
Also analysierte ich den Code und stellte einige Stellen fest, an denen man ansetzen konnte: Es lief im großen und ganzen darauf hinaus, daß jede Menge neuer Objekte erzeugt wurden: Bei jeder mathematischen Operation mit 3D-Vektoren wurde ein neues Objekt erzeugt, das das Ergebnis enthielt. Bei der 3D-Visualisierung sind unheimlich viele solcher mathematischen Operationen durchzuführen. Damit schwoll der Aufwand für Erzeugung neuer Objekte und Garbage Collection bereits erzeugter Objekte ab einer gewissen Auflösung des Höhenfeldes derart an, daß ich eine völlig neue Fehlermeldung der Java-Laufzeitumgebung kennenlernte: Es ist offensichtlich so, daß das Verhältnis der Zeit, die im Garbage Collector verbracht wird zu der Zeit, die die Laufzeitumgebung mit der Abarbeitung des eigentlichen Programmes zubringt, überwacht wird. Wird es zu ungünstig - lies: bringt die Laufzeitumgebung zu viel Zeit mit der Speicherverwaltung zu, wird das Programm mit einer Exception beendet.
Zeit, sich von der eigenen Garagen-Bastellösung zu verabschieden und den Profi-Werkzeugen zuzuwenden... Auch hierbei hatte ich wieder Hilfe aus dem Netz. Damit entstand die Visualisierung unter Zuhilfenahme von Java3D - viel professioneller, wie man mir nach Betrachtung der Screenshots sicher zustimmen wird:
27.04.2023
Ich fand neulich einen Artikel, den ich als äußerst interessant einstufte und mit dem ich mich ein wenig näher beschäftigte um ihn nachzuvollziehen.
24.11.2018
Das letzte Mal, als ich über Vor- und Nachteile der Durchführung mathematischer Berechnungen mit verschiedenen Datentypen schrieb, vernachlässigte ich einen Aspekt, dessen Einfluss und Wichtigkeit von der benutzten Programmiersprache und konkreten Implementierung abhängt:
05.11.2017
Auf meinen Fahrten von und zur Arbeit schweife ich hin und wieder gedanklich ein wenig ab. Hier das Ergebnis meiner jüngsten Gedankenexpedition...
01.10.2017
Und wieder einmal habe ich mich in die Untiefen der Erzeugung von Daten begeben, die man mit einiger Toleranz als au der Ferne aufgenommene geographische Features bezeichnen könnte
31.07.2015
Hier mal ein kurzes Video zur Datenintegration mit dWb+
17.07.2013
Nachdem ich ein wenig mit meinem Landschaftsgenerator und der neuen Visualisierung herumgespielt hatte, bemerkte ich, daß dabei Artefakte auftraten - und zwar ausschließlich unter Windows. Dem muß man auf den Grund gehen...
Multi-User-WebDAV, Docker, GitHub
17.11.2019
Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
In eigener Sache...
Weiterlesen...Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.
Weiterlesen...Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.
Weiterlesen...Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.