Objekte im Sonnensystem
Im Sonnensystem gibt es eine Menge von astronomischen Körpern, die sich in komplexen Umlaufbahnen bewegen und gegenseitig beeinflussen.
Für den Anfang beschränken wir uns auf eine stark vereinfachte Version des Sonnensystems.
Ein Sonnensystem besteht aus einer Sonne im Zentrum und einer Reihe von Planeten, die um die Sonne kreisen.
Eine Sonne hat eine feste x- und y-Koordinate für seine Position und eine Farbe.
Jeder Planet hat einen festen Abstand zur Sonne und einen Winkel, der beschreibt, wie weit der Planet auf seiner Umlaufbahn gekommen ist. Die x- und y-Koordinaten eines Planeten werden aus diesen Werten berechnet. (In diesem Modell sind alle Umlaufbahnen Kreise.) Außerdem besitzt jeder Planet eine Geschwindigkeit, in der er um die Sonne kreist. Um die Planeten unterscheiden zu können hat jeder noch einen Namen und eine Farbe.
Ein Planet kann auch Monde haben, die auch eine Position, einen Abstand (in diesem Fall aber zum Planeten) und eine Geschwindigkeit besitzen.
Durch eine objektorientierte Analyse können wir das folgende Modell aus dieser Beschreibung ableiten.
classDiagram
Sonne <-- Planet : zentrum
Planet <-- Mond : zentrum
class Sonne {
-x: float
-y: float
-farbe: color
+Sonne(pX: float, pY: float, pFarbe: color)
+getX() float
+getY() float
+getFarbe() color
+draw()
}
class Planet {
-name: String
-x: float
-y: float
-entfernung: float
-winkel: float
-geschwindigkeit: float
-farbe: color
+Planet(pX: float, pY: float, pEntfernung: float, pGeschwindigkeit: float, pFarbe: color)
+getX() float
+getY() float
+getEntfernung() float
+getWinkel() float
+getGeschwindigkeit() float
+update()
+draw()
}
class Mond {
-x: float
-y: float
-entfernung: float
-winkel: float
-geschwindigkeit: float
-farbe: color
+Mond(pX: float, pY: float, pEntfernung: float, pGeschwindigkeit: float, pFarbe: color)
+getX() float
+getY() float
+getEntfernung() float
+getWinkel() float
+getGeschwindigkeit() float
+update()
+draw()
}
classDef default fill:#fff,stroke:#333;Die gezeigten Klassen sollen nun schrittweise implementiert werden. Wir beginnen im nächsten Schritt mit der Sonne.