Ich habe eine Frühlingssimulation für eine UI in JavaScript geschrieben, und alles läuft großartig, Benutzer können UI-Elemente überallhin werfen und sie mit ein wenig Wackeln genau dorthin schieben, wo sie hin müssen.
Ich versuche jedoch, Federsimulationen miteinander zu verketten, und ich würde gerne wissen, wann eine Feder ihren Gleichgewichtspunkt überschreitet, damit ich die nächste Animation in der Kette zum richtigen Zeitpunkt und mit der richtigen Geschwindigkeit starten kann.
Wie kann ich diese Formel lösen für damit ich wissen kann, wann die Feder einen bestimmten Punkt überquert? Ich würde es gerne für alle Arten von Federn wissen, aber praktisch arbeite ich nur mit leicht unterdämpften. Meine aktuelle Formel, um die Verschiebung einer unterdämpften Feder aus ihrem Gleichgewicht zu finden, lautet:
: die Masse des federnden Objekts,
: die Steifigkeit der Feder, die Federkonstante,
: die Dämpfungskraft,
: der anfängliche Abstand des springenden Objekts von seinem Gleichgewicht bei ,
: die Geschwindigkeit des springenden Objekts, sobald der Benutzer es loslässt bei ,
Und für die Zeit.
Kann ich dieses Chaos lösen? statt ?
Es gibt eine analytische Lösung, wenn man die Gleichung auf die Form bringt
Die Lösung für Ist
Wo . Die Zeit und der Winkel sind verwandt als , mit und Dämpfungsverhältnis .
Die Amplitude ist und Phase Wo ist der Koeffizient von Und der Koeffizient von .
Benutzer65081
John Alexiou
Norris Duncan