Hallo wahsaga,
Ich möchte mit Javascript ein Objekt auf einer elliptischen Bahn bewegen.
[latex]\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1[/latex]
und stelle diese nach y um, ...
dann bekommst du aber eine recht "unhandliche" Formel mit einer Wurzel und einem fiesen Quotienten.
Was daran allerdings noch unschön aussieht: Wenn ich in einem festen Zeitinterval den Wert von x um gleichgroße Schritte verändere, so fängt das bewegte Objekt "an zu rennen", wenn es sich den bei seitlichsten Punkten nähert, und wenn es wieder zu einem der beiden Punkte oben oder unten kommt, wird es wieder langsamer.
Hast du schon mal daran gedacht, die Ellipse in Polarkoordinaten anzusetzen?
Dann hättest du
x = a * sin(u)
y = b * cos(u)
Anstatt der Wurzel hast du dann eine trigonometrische Funktion, die man aber im Interesse der Geschwindigkeit durch ein Tabellen-Lookup ersetzen kann - du verwendest doch wahrscheinlich eh eine endliche Schrittweite?
Wenn du nun den Parameter u in gleichmäßigen Schritten laufen lässt, hast du eine fast gleichförmige Bewegung; die Winkelgeschwindigkeit ist immerhin konstant.
So long,
Martin
Die beste Informationsquelle sind Leute, die jemand anderem versprochen haben, nichts weiterzuerzählen.
(alte Journalistenweisheit)