none
Simples algoritmos de colisión y simulación física representados con GDI+ RRS feed

  • Pregunta

  • Hola, que tal.

    Busco la manera de recrear una animación simple en GDI+ en un Form con la integración de efectos físicos como

    rebote, gravedad, aceleración, etc... 

    Lo que no entiendo es como recrear estos efectos mediante lenguaje de programación (el que sea), como

    es posible mover un gráfico o emular elasticidad???

    Agradecería bastante cualquier sugerencia sobre el tema ya que esto nunca me lo han enseñado...

     

    Muchas gracias.

    lunes, 1 de noviembre de 2010 17:20

Respuestas

  • Hola Carlos

    Para lo que quieres hacer hay una lista de cosas que necesitas tener en mente:

    - Hacer una clase tipo Particula o Esfera ( Void ) como gustes llamarle.

    Esta clase tendra que contar con posicion ( 2D o 3D ) , peso, tamaño ... etc.

    - Hacer una clase tipo Vector.

    Todo es importante pero recordemos que un vector tiene direccion es lo que hara mover a tu "Void".

    - Hacer una clase tipo MotorDeFisica.

    En esta clase tenemos factores que afectan a tu "Void" tales como gravedad, enpuje, friccion, aire ... se creativo.

    - Finalmente tu hambiente ( Form ) en donde "Pintaras" los "Voids".

    Es sin duda meterse en la fisica y graficos por computadora, te recomiento el siguiente libro que actualmente estoy viendo.

    Graphics Programming with GDI+
    Addison-Wesley Professional

    y tambien revisa este link:

    http://www.codeproject.com/KB/recipes/GravitySimulation.aspx

    Te sera de gran ayuda.

    Saludos

    • Marcado como respuesta i_Carlos miércoles, 3 de noviembre de 2010 1:48
    martes, 2 de noviembre de 2010 23:03

Todas las respuestas

  • hola

    2D Polygon Collision Detection

    no has evaluado usar XNA, esta es la plataforma de desarrollo de video juegos propuesta por Microsoft, evitara que tengas que pelearte con GDI y DirectX

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 1 de noviembre de 2010 17:41
  • Gracias por el dato.

    Bueno con el XNA pero tengo que hacerlo en GDI+.

    Mira he conseguí esto

    http://www.box2d.org/screenshots.html

    pero recurrí a ustedes ya que no comprendo como hacen eso; seria grandioso si hay algo por ahi que explique como

    es que emulan la física o si me explicas un poco de como logran hacer eso escribiendo simple código.

     

    gracias.

    lunes, 1 de noviembre de 2010 17:57
  • Con Flash CS5 hay muchos foros, Web, blog e inclusos libros sobre efectos matemáticos de objetos más cómodo de hacer desde cero que con C#, etc.

    Luego cuando hayas pillado la idea, te metes con C# y XNA.

    Se que Flash parace que tiene su muerte encima con HTML 5 al lado, pero...


    martes, 2 de noviembre de 2010 13:39
  • Hola Carlos

    Para lo que quieres hacer hay una lista de cosas que necesitas tener en mente:

    - Hacer una clase tipo Particula o Esfera ( Void ) como gustes llamarle.

    Esta clase tendra que contar con posicion ( 2D o 3D ) , peso, tamaño ... etc.

    - Hacer una clase tipo Vector.

    Todo es importante pero recordemos que un vector tiene direccion es lo que hara mover a tu "Void".

    - Hacer una clase tipo MotorDeFisica.

    En esta clase tenemos factores que afectan a tu "Void" tales como gravedad, enpuje, friccion, aire ... se creativo.

    - Finalmente tu hambiente ( Form ) en donde "Pintaras" los "Voids".

    Es sin duda meterse en la fisica y graficos por computadora, te recomiento el siguiente libro que actualmente estoy viendo.

    Graphics Programming with GDI+
    Addison-Wesley Professional

    y tambien revisa este link:

    http://www.codeproject.com/KB/recipes/GravitySimulation.aspx

    Te sera de gran ayuda.

    Saludos

    • Marcado como respuesta i_Carlos miércoles, 3 de noviembre de 2010 1:48
    martes, 2 de noviembre de 2010 23:03
  • Muchas gracias, tomaré en cuenta todo lo dicho, tendré que aprender flash, lee más y full práctica.

    Por cierto el libro está interesante...

     

    saludos

    miércoles, 3 de noviembre de 2010 1:48