Ich möchte ein Seil mit einem Gewicht simulieren, das wie ein Pendel hin und her schwingt. Jede tatsächliche Physik ist übertrieben; es wiederholt nur endlos die gleiche Bewegung.
JQuery hat eine "Swing" Leichtigkeit ähnlich der, die ich suche. Wie funktioniert es?
Ich dachte daran, mich von einem Winkel zum anderen zu drehen Math.easeOutExpo
, aber echte Pendel lassen sich anders lösen ...
cocos2d-iphone
rotation
easing
mjanisz1
quelle
quelle
Antworten:
Nun, Sie müssen ein wenig Physik verwenden, aber Sie müssen keine Physik simulieren . Es gibt Formeln für die Pendelbewegung , mit denen Sie leicht die Drehung Ihres Pendels einstellen können. Bei kleinen Schwüngen kann die Bewegung mit einer einfachen harmonischen Bewegung angenähert werden .
Die Winkelverschiebung zu einem bestimmten Zeitpunkt kann angenähert werden mit:
Dies ist für ein kleines Maximum θ am genauesten, wird aber wahrscheinlich für Ihre Zwecke genau genug sein. Erstellen Sie eine Funktion, die die aktuelle Zeit benötigt und den Winkel ausgibt, um den Ihr Pendel gedreht werden soll, und drehen Sie Ihr Sprite um diesen Betrag.
quelle
Hier ist eine No-Trig-Berechnung, die aus dem einfachen Trig und der Physik der Klasse 11 abgeleitet wurde. Es wird angenommen, dass der Ursprung der niedrigste Punkt der Pendelaufhängung ist, dass L die Länge des Pendels ist und dass die normale Grafikkonvention von y nach unten und x nach rechts zunimmt übernommen wird:
Update: Ich habe yAcceleration anfangs durcheinander gebracht. das ist einfacher.
Update Nr. 2 : Explizite Zeitsteuerung und Maßeinheiten hinzugefügt.
quelle