Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss16:physiksimulation

Dies ist eine alte Version des Dokuments!


Physiksimulation

Hauptseite

Herzlich willkommen auf der Seite der Gruppe Physiksimulation!

Der aktuelle Stand des Projektes ist hier zu finden.
Die vollständige Dokumentation befindet sich hier.

Gruppenmitglieder

  • Dustin
  • Philipp
  • Mark

Projektidee

Die grundlegende Idee dieses Projektes ist es, ein Programm zu schreiben, das einen physikalischen Sachverhalt realitätsnah simulieren kann. Dafür sollen Objekte auf dem Bildschirm erzeugt und ihre Parameter wie Größe, Masse und Bewegung verändert werden können.

Das Besondere an unserem Projekt ist es, dass wir in zwei Programmiersprachen entwickeln: Wir nutzen Python für die Grafik und die Benutzerinteraktion, während wir die Berechnungen in C++ durchführen. Philipps Erfahrungen aus dem letzten Semester haben gezeigt, dass Python dafür zu langsam ist und C++ hier mit seiner höheren Geschwindigkeit besser geeignet ist. Das GUI schreiben wir in Python, da wir dieses als komfortabler zum Programmieren erachten.

Als Sachverhalt wollen wir in erster Linie die Gravitation zwischen Objekten simulieren. Genaueres steht im nächsten Abschnitt:

Simulation von Gravitation

Hierbei nutzen wir Philipps Arbeit aus dem letzten Jahr, die Simulation von Himmelskörpern, sodass wir nicht bei Null beginnen müssen. Der Benutzer wird 3D-Objekte erzeugen, ihnen Massen und Größen, sowie Abstände zwischeneinander verleihen. Anschließend kann er beobachten, wie sich die Objekte verhalten. Idealerweise kann man damit am Ende z.B. einen Teil des Sonnensystems simulieren oder gravitational choreographies laufen lassen.

Umsetzungsplan

Zunächst ist es natürlich notwendig, sich mit den physikalischen Grundlagen zu beschäftigen. Parallel dazu sollte im Labor eine Oberfläche entstehen, auf der die Objekte erzeugt, verschoben und modifiziert werden können.
Im nächsten Schritt wird dann der Teil geschrieben, der für die Berechnungen zuständig ist. Dafür gibt es mehrere Möglichkeiten; wir verwenden das Verfahren von Runge-Kutta. Gleichzeitig wird an der Ausgabe der Daten gearbeitet. Unsere Wahl fiel auf VPython.
Als letztes schreiben wir das Interface zwischen Python und C++ in Cython, um die Vorteile beider Sprachen optimal zu nutzen.

Logbuch-Einträge

ss16/physiksimulation.1471190630.txt.gz · Zuletzt geändert: 2016/08/14 18:03 von markumnus