Física de una pelota

Estoy programando un juego de deportes en el que uso una pelota. El juego es en 3D y necesito implementarle física al balón. He tratado de aplicar la cinemática del tiro parabólico que conozco y tengo:
X=Xo+V*cos(A)*t
Y=Yo+V*sen(A)*t-0.5*g*t
Eso funciona bien, pero el problema lo tengo con la coordenada Z (la profundidad). Después de cientos de dibujos para intentar resolver el problema de trigonometría del vector de velocidad V sobre los tres ejes, deduje (supongo que erróneamente) que
Z=Zo+V*Cos(A)*Tan(B)*t
De hecho, parece que no funciona mal del todo, pero sólo para ángulos cuya tangente es inferior a la unidad. De ahí para arriba se vuelve loco. Bueno, no es que se vuelva loco, pero si multiplico una velocidad inicial (V) de 20 m/s por la tangente de 89 (y si es por la de 90 ni siquiera funciona) me da que la velocidad inicial en el eje Z (VoZ) es de 1145,79 m/s (y va a ser que no).
Por cierto, supongo que te habrás dado cuenta, pero A es el ángulo que el lanzamiento forma con la horizontal (la altura del lanzamiento) y B el que forma para determinar si va más a la derecha o a la izquierda.
Mi pregunta es: Podrías decirme cuáles son las fórmulas correctas que debería utilizar (No hay rozamiento ni fricción con el aire ni nada).

1 respuesta

Respuesta
1
Si usamos el siguiente sistema de referencia:
Eje por según la dirección longitudinal del campo (de portería a portería)
Eje y según la dirección transversal
Eje z la altura.
Y siendo A el ángulo que forma la velocidad inicial del balón con el plano horizontal y B el ángulo que forma la proyección de la velocidad del balón sobre el plano horizontal con el eje por, las ecuaciones tienen que quedar de esta forma:
Z = Zo + Vo*senA*t - 0.5*g*t^2
X = Xo + Vo*cosA*cosB*t
Y = Yo + Vo*cosA*senB*t
Al programarlo intenta no dividir la ecuación por nada que se pueda hacer cero, como un seno o un coseno.
Espero que ahora funcione bien y que te puedas echar partidos hasta ponerte ciego, je je. Si algún día quieres sacar una nueva versión del juego teniendo en cuenta otras cosas como por ejemplo darle efecto al balón hablamos, ¿ok? Pero dame un poco de tiempo que en esta época estoy un poco liado, sácale primero partido a este juego y luego ya veremos, je je.
Muchas gracias, me has sido de gran ayuda.
De todas maneras no es un juego de fútbol, sino de tenis ;), que hay menos jugadores a controlar y, para aprender, que es lo que yo quiero, es más fácil.
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas