Beginnen wir mit einem Blick auf die Mathematik hinter dem Problem.
Schritt 1:
Um den Schnittpunkt zwischen einer Linie und einer Form zu finden, müssen Sie lediglich die Gleichung der Linie in die Gleichung der Form einfügen, die in diesem Fall ein Kreis ist.
Nehmen Sie einen Kreis mit Mittelpunkt c und Radius r . Ein Punkt p liegt auf dem Kreis, wenn
|p−c|2=r2
p=p0+μv
|p0+μv−c|2=r2
Der quadratische Abstand kann als Punktprodukt ( http://en.wikipedia.org/wiki/Dot_product ) umgeschrieben werden .
(p0+μv−c)∙(p0+μv−c)=r2
a=c−p0(μv−a)∙(μv−a)=r2
μ2(v∙v)−2μ(a∙v)+a∙a=r2
|v|=1 und wir haben
μ2−2μ(a∙v)+|a|2−r2=0
Das ist eine einfache quadratische Gleichung, und wir kommen zur Lösung
μ=a∙v+−sqrt((a∙v)2∗a2–r2)
μ<0 , schneidet die Schiffslinie in Ihrem Fall nicht die Planetenbahn.
μ=0 , berührt die Schiffslinie einfach den Kreis an einem Punkt.
μ Werte, die zwei Punkten auf der Umlaufbahn entsprechen!
Schritt 2:
μ Werte erhalten. Wenn wir 1 Wert erhalten, verwenden Sie diesen. Wenn wir 2 bekommen, wählen Sie einfach eine davon.
Was können wir damit machen? Nun, wir wissen jetzt, wie weit das Schiff zurücklegen muss und wo es landen wird!
p=p0+μvμv -Komponente gibt uns an, wie weit wir reisen müssen. Teilen Sie einfach diese letzte Komponente durch die Geschwindigkeit Ihres Schiffes, um festzustellen, wie lange es dauern wird, bis es dort ankommt!
Jetzt müssen Sie nur noch berechnen, wo sich der Planet befinden soll, wenn das Schiff in Richtung seiner Umlaufbahn fährt. Dies lässt sich leicht mit sogenannten Polar Coodinates ( http://mathworld.wolfram.com/PolarCoordinates.html ) berechnen.
x=c+r∗cos(θ)
y=c+r∗sin(θ)
t∗angularVelocity Grad in seiner Umlaufbahn, und wir sind fertig!
Zusammenfassung
Wählen Sie eine Linie für Ihr Schiff und führen Sie die Berechnung aus, um festzustellen, ob sie mit der Planetenbahn kollidiert. Wenn ja, berechnen Sie die Zeit, die benötigt wird, um zu diesem Punkt zu gelangen. Verwenden Sie diese Zeit, um von diesem Punkt aus mit dem Planeten in die Umlaufbahn zurückzukehren und zu berechnen, wo sich der Planet befinden soll, wenn das Schiff in Bewegung gerät.