Ich beschäftige mich ja gerade wieder mehr mit Chaostheorie und nichtlinearen Differentialgleichungssystemen. Viele der Visualisierungen, die man hierzu auf dieser Seite finden kann, wurden mit Java3D oder Gnuplot erstellt. Für die Untersuchung von Bifurcation Diagrammen wollte ich etwas neues versuchen.
Die Darstellungen, die ich aus diversen Anwendungen heraus mittels Gnuplot erstellt habe, mussten bisher einen Umweg nehmen: die Anwendung schrieb ein Datenfile, das dann mittels Gnuplot zur Visualisierung weiterverarbeitet wurde. Das erschien mir als etwas zu mühselig - ich wollte die Graphik direkt aus Java heraus erzeugen.
Das hätte den Vorteil gehabt, dass ich ohne Neustart des Kommandos die berechnung mit geänderten Parametern aus der GUI heraus hätte neu starten könenn. Mein Mittel der Wahl, wenn es um kompexe Visualisierungen in Java-Anwendungen geht war bisher immer JFreeChart. Leider habe ich keine Möglichkeit gefunden, diese Komponente zur Visualisierung einer nicht- eindeutigen Abbildung zu benutzen: Bei Bifurcation Diagrammen gehören immer mehrere Y-Werte zu einem X-Wert.
Daher habe ich - bereits auf dem Schwenk zurück zum bewährten Vorgehen mit Gnuplot - überlegt, ob es nicht eine Java-Integration dafür gäbe. Eine kurze Suche ergab, dass es tatsächlich mehrere davon gibt: Ich benutzte JavaPlot und war extrem überrascht: Es bildet zwar vielleicht nicht alle Feinheiten von Gnuplot ab, aber es ist extrem vieles möglich. Die Integration ist denkbar einfach und die Visualisierungen sind auf dem gewohnten Gnuplot-Level.
Das erste Projekt war denn auch die Umsetzung einer GUI zur Analyse von Bifurcation Diagrammen (siehe Screenshot unten) - eventuell wird noch ein Plugin für die sQLshell damit folgen...
JavaPlot API
About JavaPlot
JavaPlot Source
InteractiveGnuPlot.java
gnuplot Quick Reference
Using a palette as line color
Multiple lines with different colors
Plotting the bifurcation diagram of a chaotic dynamical system
Google: sympi bifurcation diagram
Rossler attractor bifurcation diagrams - can anyone help?
Impossible gnuplot graphs
10.05.2020
Nachdem ich hier schon einmal kurz über Bifurkationen und Lyapunov-Exponenten berichtet habe, habe ich den Code dafür aufgeräumt und flexibilisiert - nun kann ich diese Werkzeuge auf beliebige Systeme anwenden: Das erste Beispiel war ja das Roessler-System, jetzt habe ich sie auf das Lorenz-System angewendet.
17.03.2019
Wie bereits in einem früheren Artikel angekündigt habe ich nunmehr zwei Plugins für die sQLshell fertiggestellt, die die Fähigkeiten von Gnuplot zur Visualisierung von numerischen Angaben gestatten
09.02.2019
Obwohl ich ja finde, dass der erste Januar jetzt nicht so ein spezieller Tag ist, schreibe ich mir doch um diesen Tag rum immer mal wieder ein "Listche", auf dem ich mir Vorhaben notiere, die ich mit mittlerem zeitlichen Horizont anzugehen gedenke.
13.01.2019
Nachdem ich nun bereits Bifurcation Diagramme mittels Gnuplot visualisiert hatte, wollte ich auch Lyapunov Exponenten berechnen und darstellen...
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.