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...
CI/CD mit shellcheck
13.10.2019
Ich habe mich entschlossen, in meinen diversen Shell-Projekten shellcheck als Mittel zur Qualitätssicherung einzusetzen.
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Git(lab|hub) Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
In meinem $dayjob kam neulich die Frage auf, ob es möglich wäre, die aktuelle Softwareinstallation eines Linux-Systems als Software Bill of Materials (SBOM) zu exportieren.
Weiterlesen...Ich habe - motiviert durch meine Experimente zur Visualisierung von Paketabhängigkeiten in Linux-Installationen als interaktive Graphen - versucht, relationale Datenmodelle in ähnlicher Form zu visualisieren und dazu zwei Plugins für die sQLshell geschrieben.
Weiterlesen...Die Royal Institution hat in ihren Schätzen gegraben und die Christmas Lectures von Carl Sagan auf Youtube nochmals veröffentlicht. Meiner Ansicht nach unbedingt lohnenswert für alle, die Englisch verstehen!
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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.