Para hacer lanzamientos con diferente ángulo tenemos 2 alternativas:
* Si el ángulo es constante y el aterrizaje debe ser exacto, primero se define el alcance horizontal (X), se define el ángulo (angulo) y se calcula la velocidad inicial (vi)
[gml]
vi = sqrt( X*g / sin(degtorad(2*angulo)) );
[/gml]
se debe poner degtorad si el ángulo está en grados.
Después se calculan las componentes de la gravedad
[gml]
vx = lengthdir_x( vi, angulo );
vx = lengthdir_y( vi, angulo );
[/gml]
* Si el ángulo es variable, no conviene definir primero el alcance horizontal, en este caso la variable X no se utiliza porque el aterrizaje no es exacto (se deberá utilizar el deslizamiento). Primero se define la velocidad inicial y el ángulo, y las componentes se calculan directamente
[gml]
vx = lengthdir_x( vi, angulo );
vx = lengthdir_y( vi, angulo );
[/gml]
el código es igual al anterior.
Es importante notar que la velocidad inicial no es linealmente proporcional al alcance horizontal, la relación es cuadrática, entonces existen más probabilidades de hacer un lanzamiento largo que uno corto.
* Si el ángulo es constante y el aterrizaje debe ser exacto, primero se define el alcance horizontal (X), se define el ángulo (angulo) y se calcula la velocidad inicial (vi)
[gml]
vi = sqrt( X*g / sin(degtorad(2*angulo)) );
[/gml]
se debe poner degtorad si el ángulo está en grados.
Después se calculan las componentes de la gravedad
[gml]
vx = lengthdir_x( vi, angulo );
vx = lengthdir_y( vi, angulo );
[/gml]
* Si el ángulo es variable, no conviene definir primero el alcance horizontal, en este caso la variable X no se utiliza porque el aterrizaje no es exacto (se deberá utilizar el deslizamiento). Primero se define la velocidad inicial y el ángulo, y las componentes se calculan directamente
[gml]
vx = lengthdir_x( vi, angulo );
vx = lengthdir_y( vi, angulo );
[/gml]
el código es igual al anterior.
Es importante notar que la velocidad inicial no es linealmente proporcional al alcance horizontal, la relación es cuadrática, entonces existen más probabilidades de hacer un lanzamiento largo que uno corto.