Quiero simular una cuerda con un peso unido, balanceándose hacia adelante y hacia atrás como un péndulo. Cualquier física real es exagerada; simplemente repite sin cesar el mismo movimiento.
JQuery tiene una facilidad de "swing" similar a la que estoy buscando. ¿Como funciona?
Estaba pensando en rotar de un ángulo a otro con Math.easeOutExpo
, pero los péndulos reales se alivian de manera diferente ...
cocos2d-iphone
rotation
easing
mjanisz1
fuente
fuente
Respuestas:
Bueno, tendrás que usar un poco de física, pero no necesitas simular ninguna física. Existen fórmulas para el movimiento del péndulo que puede usar fácilmente para establecer la rotación de su péndulo. Para oscilaciones pequeñas, el movimiento se puede aproximar con un movimiento armónico simple .
El desplazamiento angular en un momento específico se puede aproximar con:
Esto es más preciso para un pequeño máximo θ, pero probablemente será lo suficientemente preciso para sus propósitos. Cree una función que tome el tiempo actual y genere el ángulo por el cual debe rotar su péndulo, y gire su sprite en esa cantidad.
fuente
Aquí hay un cálculo sin trigonometría, derivado de Trig y Física de Grado 11. Se supone que el origen es el punto más bajo de la suspensión del péndulo, que L es la longitud del péndulo y que se adopta la convención gráfica normal de y aumentando hacia abajo yx aumentando a la derecha:
Actualización: me equivoqué y Aceleración inicialmente; Esto es más fácil.
Actualización n. ° 2 : Se agregó control de tiempo explícito y se agregaron unidades de medida.
fuente