Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss16:physiksimulation_log1

Hauptseite des Projekts

Physiksimulation/Dokumentation/Projektverlauf/

Logbuch-Eintrag 1

Datum: 26. Mai 2016

Zusammenfassung

Heute haben wir uns auf den Sachverhalt geeinigt, den wir bearbeiten wollen: die Simulation von Gravitation. Danach haben wir gesichtet, was wir schon haben. Dafür sind wir Philipps bisherige Arbeit durchgegangen und haben es heute schon so weit gebracht, dass etwas auf Basis von Gravitationskräften simuliert wird. Offen ist noch, ob die berechneten Werte stimmen. Auf der Python-Seite hat Dustin begonnen, sich mit dem GUI-Framework PyQT zu beschäftigen, da wir damit unsere spätere Benutzeroberfläche erstellen wollen.

Genauere Beschreibung

Im Detail haben wir heute die Struktur des Prgrammes beschlossen. Diese soll aus heutiger Sicht wohl in etwa so aussehen:

Wie man erkennen kann, planen wir ein Programm zu schreiben, das sowohl Python-, als auch C++-Teile besitzt. Dabei soll die Python-Seite die Benutzeroberfläche stellen und die Simulation anzeigen, da wir finden, dass diese Schritte wesentlich leichter in Python implementiert werden können. Die rechenintensiven Teile des Programmes, also die eigentliche Simulation, ist/wird in C++ geschrieben, da dieses hier den deutlichen Geschwindigkeitsvorteil hat. Die Objects werden dabei aus den Daten kreiert, die der Benutzer der Python-Oberfläche mitgegeben hat, wie Größe und Positionen der Objekte. Mit diesen wird die Simulation dann ausgeführt und die Daten werden wieder an Python übergeben. Wie das genau geschieht, ist noch nicht entschieden. Hier könnte man entweder zunächst die gesamte Simulation laufen lassen und sie hinterher zeichnen, oder aber man berechnet und zeichnet gleichzeitig, was aber wesentlich schwieriger zu programmieren sein dürfte.

Innerhalb der Simulation werden dabei zunächst alle (Anziehungs-)Kräfte zwischen den Objekten, und daraus ihre Beschleunigungen, Geschwindigkeiten und letztendlich Positionen berechnet. Zur Lösung der sich ergebenden Differenzialgleichungen nutzen wir das Euler-Verfahren.

Was die Benutzeroberfläche angeht, so haben wir schon ein recht genaues Bild vor Augen, jedoch muss die Umsetzbarkeit noch geprüft werden.

Ausblick

In der nächsten Woche wird es hauptsächlich darum gehen, die Daten der SImulation zu überprüfen und gegebenenfalls Parameter zu ändern. Natürlich muss sich auch weiter mit dem GUI beschäftigt werden, während wir uns auch anschauen werden, wie genau die Verknüpfungen zwischen Python und C++ zu realisieren sind.

ss16/physiksimulation_log1.txt · Zuletzt geändert: 2016/08/14 22:25 von markumnus