Berechnen Sie die Anfangsgeschwindigkeit, um eine festgelegte Strecke mit Trägheit zurückzulegen

Ich möchte etwas um eine bestimmte Distanz bewegen. In meinem System gibt es jedoch Trägheit / Widerstand / negative Beschleunigung. Ich benutze dafür eine einfache Berechnung wie diese:

v = oldV + ((targetV - oldV) * inertia)

Wenn Sie dies über mehrere Frames anwenden, wird die Bewegung "hochgefahren" oder zerfällt, z. B .:

v = 10 + ((0 - 10) * 0.25) = 7.5 // velocity changes from 10 to 7.5 this frame

Ich kenne also die Entfernung, die ich zurücklegen möchte, und die Beschleunigung, aber nicht die Anfangsgeschwindigkeit, mit der ich dorthin komme. Vielleicht ist eine bessere Erklärung, dass ich wissen möchte, wie schwer es ist, eine Billardkugel so zu schlagen, dass sie an einem bestimmten Punkt anhält.

Ich habe mich mit Bewegungsgleichungen befasst (http://en.wikipedia.org/wiki/Equations_of_motion), kann aber nicht herausfinden, welches für mein Problem das richtige ist ...

Irgendwelche Ideen? Danke - ich komme aus einem Design, nicht aus der Wissenschaft.

Update: Fiirhok hat eine Lösung mit einem festen Beschleunigungswert; HTML + jQuery-Demo:
http://pastebin.com/ekDwCYvj
Gibt es eine Möglichkeit, dies mit einem Bruchwert oder einer Beschleunigungsfunktion zu tun? Der Vorteil davon ist meiner Erfahrung nach, dass feste Beschleunigung und bildbasierte Animation manchmal den Endpunkt überschreiten und erzwungen werden müssen, was zu einem leichten Schnappschuss führt.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage