Problema de colisión con figuras vectoriales

Started by Yawin, July 17, 2013, 09:58:19 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yawin

¡Buenas!
Como sabréis, ando metido en aprender C++. Ahora estoy haciendo un asteroids y me ha surgido un problema. Lo planteo aquí porque la duda es a nivel de lógica, no de lenguaje.


El caso es que yo tengo una nave que tiene:
-Un punto de origen X e Y
-Cuatro vértices periféricos cuyas coordenadas se guardan en coordenadas polares (es decir, un vector que parte del centro de la nave).


Y tengo un asteroide que tiene:
-Un punto de origen X e Y
-Nueve vértices periféricos cuyas coordenadas se guardan en coordenadas polares (es decir, un vector que parte del centro de la asteroide).


La cosa es que quiero calcular si colisionan, y no se cómo hacerlo. ¿Alguien tiene alguna idea de cómo podría hacerlo?

Por si acaso ayuda, este es el código en C++: http://pastebin.com/CTnnG2G5
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Erkosone

Te dejo unas cuantas funciones, supongo que si sabes de que va el tema te servirán ;)
Son funciones a bajo nivel para colisión entre puntos cajas segmentos polígonos etc.. combinandolas consigues lo que pides ;)


Erkosone

Pero oye.. ahora que pienso xD..


Tienes la mod_chipmunk que hace esto de una forma muy eficiente ;)

Yawin

Verás, para que tenga chipmunk primero quiero tenerla. Yo programo porque disfruto programando, no obteniendo resultados, así que prefiero hacerme yo mis pajas mentales a recojerlas de una librería xDD


En cuanto pueda pienso sustituir la librería gráfica que uso por una mía. Bueno, si soy capaz.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Erkosone

Honorable fin, el trabajo hecho por uno mismo siempre es mas gratificante, pero no siempre es el mejor hecho ;)
Dale caña!

Arcontus

Quote from: Erkosone on July 17, 2013, 06:41:23 PM
Honorable fin, el trabajo hecho por uno mismo siempre es mas gratificante, pero no siempre es el mejor hecho ;)
Dale caña!
Jajajajaja!!!!  Que razón tienes :D
5Leaps, el primer juego comercial desarrollado para BennuGD. http://www.5leaps.com