Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws1718:raketensimulation:protokolle [2018/03/08 16:40] aike.teichmann |
ws1718:raketensimulation:protokolle [2018/03/22 18:17] (aktuell) leogummersbach |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ======Protokolle====== | ||
+ | |||
======Protokoll am 30.11.17====== | ======Protokoll am 30.11.17====== | ||
+ | |||
Wir haben uns heute als Gruppe zusammen gefunden und erste vorbereitungen getroffen. Zuerst haben wir uns darauf geeinigt das wir die Begriffe und Variablen in Deutsch benennen. Als nächstes haben wir mit ersten Konzeptzeichnungen und der Programierung der ersten Klassen angefangen. Nun haben wir uns auf die Einheiten der physikalischen Größen geeinigt (z.b. wir rechnen in Metern und nicht Kilometern). Dann haben wir die ersten Aufgaben eingeteielt und haben angefangen diese zu bearbeiten. | Wir haben uns heute als Gruppe zusammen gefunden und erste vorbereitungen getroffen. Zuerst haben wir uns darauf geeinigt das wir die Begriffe und Variablen in Deutsch benennen. Als nächstes haben wir mit ersten Konzeptzeichnungen und der Programierung der ersten Klassen angefangen. Nun haben wir uns auf die Einheiten der physikalischen Größen geeinigt (z.b. wir rechnen in Metern und nicht Kilometern). Dann haben wir die ersten Aufgaben eingeteielt und haben angefangen diese zu bearbeiten. | ||
Zeile 7: | Zeile 10: | ||
<code python> | <code python> | ||
- | class Welt(object): | + | class Welt(object): |
- | gravitationskonstante = 6.673 * 10**(-11) #Gravitationskonstante | + | gravitationskonstante = 6.673 * 10**(-11) #Gravitationskonstante |
- | Liste_der_Objekte = [] | + | Liste_der_Objekte = [] |
- | def berechne_Gravitationskraft(self,objekt1,objekt2): | ||
- | """ | ||
- | Gibt die Gravitationskraft aus, die zwischen den Objekten "objekt1" und "objekt2" herrscht | ||
- | """ | ||
- | abstand = ((objekt1.Koordinaten[0]-objekt2.Koordinaten[0])**2+(objekt1.Koordinaten[1]-objekt2.Koordinaten[1])**2+(objekt1.Koordinaten[2]-objekt2.Koordinaten[2])**2)**0.5 | ||
- | F = self.gravitationskonstante * objekt1.Masse * objekt2.Masse / abstand**2 | ||
- | return F | ||
- | |||
- | def objekt_hinzufuegen(self,objekt): | ||
- | """ | ||
- | Fuegt der Welt ein Objekt hinzu | ||
- | """ | ||
- | self.Liste_der_Objekte.append(objekt) | ||
- | def objekt_als_Satellit_hinzufuegen(self,objekt,satellit,abstand): | + | def berechne_Gravitationskraft(self,objekt1,objekt2): |
- | """ | + | """ |
- | Fuegt ein Objekt ("satellit" genannt) in die Welt ein, welches sich | + | Gibt die Gravitationskraft aus, die zwischen den Objekten "objekt1" und "objekt2" herrscht |
- | um ein anderes Objekt ("objekt" genannt) dreht. Es ist dabei in einem stabilen Orbit. | + | """ |
- | der Abstand ("abstand" genannt) ist dabei der Abstand zwischen den Mittelpunkten. | + | abstand = ((objekt1.Koordinaten[0]-objekt2.Koordinaten[0])**2+(objekt1.Koordinaten[1]-objekt2.Koordinaten[1])**2+(objekt1.Koordinaten[2]-objekt2.Koordinaten[2])**2)**0.5 |
- | Ansatz: F_g = F_r | + | F = self.gravitationskonstante * objekt1.Masse * objekt2.Masse / abstand**2 |
- | Nach aufloesung erhaelt man: v = sqrt(gravitationskonstante*masse_objekt/abstand) | + | return F |
- | """ | + | |
- | satellit.Geschwindigkeit = (self.gravitationskonstante*objekt.Masse/abstand)**0.5 | + | def objekt_hinzufuegen(self,objekt): |
- | satellit.Koordinaten = [objekt.Koordinaten[0]+abstand,0,0] | + | """ |
- | satellit.Geschwindigkeitsvektor = [0,satellit.Geschwindigkeit,0] | + | Fuegt der Welt ein Objekt hinzu |
- | self.objekt_hinzufuegen(satellit) | + | """ |
- | + | self.Liste_der_Objekte.append(objekt) | |
+ | |||
+ | def objekt_als_Satellit_hinzufuegen(self,objekt,satellit,abstand): | ||
+ | """ | ||
+ | Fuegt ein Objekt ("satellit" genannt) in die Welt ein, welches sich | ||
+ | um ein anderes Objekt ("objekt" genannt) dreht. Es ist dabei in einem stabilen Orbit. | ||
+ | der Abstand ("abstand" genannt) ist dabei der Abstand zwischen den Mittelpunkten. | ||
+ | Ansatz: F_g = F_r | ||
+ | Nach aufloesung erhaelt man: v = sqrt(gravitationskonstante*masse_objekt/abstand) | ||
+ | """ | ||
+ | satellit.Geschwindigkeit = (self.gravitationskonstante*objekt.Masse/abstand)**0.5 | ||
+ | satellit.Koordinaten = [objekt.Koordinaten[0]+abstand,0,0] | ||
+ | satellit.Geschwindigkeitsvektor = [0,satellit.Geschwindigkeit,0] | ||
+ | self.objekt_hinzufuegen(satellit) | ||
+ | |||
+ | |||
</code> | </code> | ||
Zeile 140: | Zeile 143: | ||
======Protokoll am 08.03.2018====== | ======Protokoll am 08.03.2018====== | ||
- | Wir haben die Rakete zuerst in einem System, in welchem nur die Erde vorhanden ist, implementiert. In diesem System ist heute die Erde von einem Punkt zu einer Kugel mit entschprechendem Erdradius geworden. Nun können wir also sehen ob unsere Rakete in der Simulation eigentlich durch die Erde fliegt. Wir haben voller Begeisterung einige Raketenstarts beobachtet und uns zum Teil über die merkwürdige Flugbahn lustig gemacht. Die Raketenflugbahn wurde optiemiert. | + | Wir haben die Rakete zuerst in einem System, in welchem nur die Erde vorhanden ist, implementiert. In diesem System ist heute die Erde von einem Punkt zu einer Kugel mit entschprechendem Erdradius geworden. Nun können wir also sehen ob unsere Rakete in der Simulation eigentlich durch die Erde fliegt. Wir haben voller Begeisterung einige Raketenstarts beobachtet und uns zum Teil über die merkwürdige Flugbahn lustig gemacht. Die Raketenflugbahn wurde optiemiert. Die Originalpositionen der Planeten konnten wir leider aus Zeitgründen nicht mehr einprogrammieren. |
Unsere Ergebnisse: | Unsere Ergebnisse: | ||
*[[Das Sonnensystem]] | *[[Das Sonnensystem]] | ||
*[[Das Erde-Raketen-System]] | *[[Das Erde-Raketen-System]] |