Je veux simuler une corde avec un poids attaché, se balançant d'avant en arrière comme un pendule. Toute physique réelle est exagérée; c'est simplement répéter sans cesse la même motion.
JQuery a une facilité de "swing" similaire à ce que je recherche. Comment ça marche?
Je pensais à tourner d'un angle à l'autre avec Math.easeOutExpo
, mais les vrais pendules se relâchent différemment ...
cocos2d-iphone
rotation
easing
mjanisz1
la source
la source
Réponses:
Eh bien, vous devrez utiliser un peu de physique, mais vous n'avez pas besoin de simuler de physique. Il existe des formules pour le mouvement du pendule que vous pouvez facilement utiliser pour régler la rotation de votre pendule. Pour les petites oscillations, le mouvement peut être approximé par un simple mouvement harmonique .
Le déplacement angulaire à un instant donné peut être approximé par:
Ceci est plus précis pour un petit maximum θ, mais sera probablement suffisamment précis pour vos besoins. Créez une fonction qui prend l'heure actuelle et génère l'angle pour lequel votre pendule doit être tourné, et faites pivoter votre sprite de cette quantité.
la source
Voici un calcul sans déclenchement, dérivé de la physique et du déclenchement de 11e année. Il suppose que l'origine est le point le plus bas de la suspension du balancier pendulaire, que L est la longueur du pendule et que la convention graphique normale de y augmentant vers le bas et de x augmentant vers la droite est adoptée:
Mise à jour: j'ai foiré yAcceleration initialement; c'est plus simple.
Mise à jour # 2 : Ajout d'un contrôle temporel explicite et ajout d'unités de mesure.
la source