Open GL - est

 
Vista:

est

Publicado por oscar casas (2 intervenciones) el 10/05/2007 07:36:34
Buenas.
Soy un estudiante de informatica, y en una clase de grafico tengo que hacer un trabajo con una pelota rebotando bajo la accion de la gravedad, la pelota ya la hago y el rebote lo unico que no encuentro alguna forma de ponerla bajo el efecto de la gravedad, que se pare al cabo de unos cuantos rebotes, tranajo en linux, gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

En realidad es gravedad

Publicado por oscar casas (2 intervenciones) el 10/05/2007 07:38:00
disculpen el error en el titulo y ahora no se como editarlo asi ke pongo otro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:est

Publicado por Emilio (2 intervenciones) el 14/05/2007 03:36:38
Es cuestión de aplicarle física a tu algoritmo...

Este podría ser un algoritmo en pseudocódigo:

PosicionY = PosicionYInicial;
VelocidadY = VelocidadYInicial;
AceleracionY = AceleracionYInicial;

PosicionX = PosicionXInicial;
VelocidadX = VelocidadXInicial;
AceleracionX = En tu caso es 0;

IncrementoTiempo = (cualquier valor, va a determinar la velocidad de tu escena. En cuanto más pequeño sea más precisión vas a tener en los movimientos)

AbsorcionEnergeticaEnChoque = (cualquier valor entre 0 y 1)

Bucle
{
SI (HayChoqueEnY)
{
VelocidadY = -VelocidadY*AbsorcionEnergeticaEnChoque;
}
Si(HayChoqueEnX)
{
VelocidadX = -VelocidadX*AbsorcionEnergeticaEnChoque;
}

VelocidadX = VelocidadX + AceleracionX * IncrementoTiempo;
PosicionX = PosicionX + VelocidadX * IncrementoTiempo;

VelocidadY = VelocidadY + AceleracionY * IncrementoTiempo;
PosicionY = PosicionY + VelocidadY * IncrementoTiempo;

PintaPelota(PosicionX, PosicionY);
}

Pruébalo, creo que debe servir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:est

Publicado por Emilio (2 intervenciones) el 14/05/2007 03:55:34
Estoy haciendo una pruebecilla en C# y va perfecto. Sólo notar que los valores no deben ser enteros, ya que los incrementos casi siempre serán decimales, y que la AbsorcionEnergetica está cambiada: 0 absorbe todo, 1 no absorbe nada.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar