| Autor |
Mensaje |
|
Benway
|
Asunto: Tutorial sobre Detección de colisiones Publicado: 13 Jun 2006 17:44 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
|
 |
|
 |
|
EightBiter
|
Asunto: Publicado: 13 Jun 2006 18:06 |
|
Registrado: 23 Dic 2004 18:27 Mensajes: 2983 Ubicación: El Foro, Madrid, España
|
Osea que no era cosa de los enanos de dentro del chí, no?
¡Mu currao Ben! Si lo hubiese tenido cuando empecé mi Ghost and Goblins en Basic con mi CPC ... (no pasé de la pantalla de presentación, no te digo más, jua jua)
|
|
 |
|
 |
|
Alx
|
Asunto: Publicado: 13 Jun 2006 18:21 |
|
Registrado: 25 Dic 2005 19:42 Mensajes: 5928 Ubicación: Barcelona
|
A mi me encanta, lo voy a imprimir para llevármelo al curro y leeeeerlo tranquilamente.
Además,...es una forma de estar en el trabajo más cerca de tí 
_________________ 1:1 Amarás al Spectrum por encima de todas las cosas
|
|
 |
|
 |
|
Anjuel
|
Asunto: Publicado: 13 Jun 2006 22:10 |
|
Registrado: 23 Dic 2004 16:36 Mensajes: 8781 Ubicación: Torreznolandia
|
Tremendo Ben, tremendo!
Por cierto, que aprovecho la coyuntura para picarte un poco... a ver si te pasas al z88dk! 
|
|
 |
|
 |
|
LordFred
|
Asunto: Publicado: 13 Jun 2006 22:24 |
|
Registrado: 10 Ene 2005 22:05 Mensajes: 3562 Ubicación: Barcelona
|
|
Te lo has "currao" de lo lindo... muy buen tutorial, si señor... ya querrían algunas de esas güebs chunguillas de programación de juegos tener tutoriales así de bién explicados...
|
|
 |
|
 |
|
Zemman
|
Asunto: Publicado: 13 Jun 2006 22:41 |
|
Registrado: 14 Nov 2005 14:47 Mensajes: 3170
|
Llevo tiempo leyendo e intentando entender todo esto, con los tutoriales que tengo, mas los que voy pillando por ahi, pues voy siguiendo los oejemplo y voy o intento practicar algo, pero sobretodo entenderlo, desde hace meses, llevo leyendo los tutoriales que me aconsejasteis, este me lo he descargado, y lo tengo ya guardado, gracias por tomarte las molestias, mañana con mas tiempo le dare un vistazo, ESTUPENDO 
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 13 Jun 2006 22:43 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
Pues muchas gracias, chicos!
Lo del paso al z88dk lo tengo pensado para el verano... pq ahora estoy bastante centrado en el examen de la opo del día 25... y no quiero sentirme más culpable de lo que ya me siento por no estudiar  ... pero cuando llegue Julio... algo habrá que hacer 
_________________ Un saludo. 
|
|
 |
|
 |
|
Kovenan
|
Asunto: Publicado: 18 Sep 2006 14:17 |
|
Registrado: 14 Sep 2006 15:16 Mensajes: 1636
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 18 Sep 2006 16:54 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
Gracias, Kovenan.
Tengo pendiente de añadir una cosilla que me comentó Alx: La determinación trigonométrica de la distancia entre dos puntos, que puede ser muy útil, ya que, aunque resultaría un poco lenta de hacer sobre la marcha, como en muchos juegos necesitamos una tabla pregenerada de senos y cosenos, podemos re-aprovecharla también para eso 
_________________ Un saludo. 
|
|
 |
|
 |
|
cht666cht
|
Asunto: Publicado: 18 Sep 2006 17:40 |
|
Registrado: 06 Oct 2005 12:20 Mensajes: 2153 Ubicación: Barcelona
|
No me lo he podido leer todo, pero tiene muy buena pinta!
con lo que cuesta encontrar material de este tipo en español, y además tan bien explicado
Solo una pequeña tonteria... no sería Bounding Box en vez de Bouncing Box?
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 18 Sep 2006 17:46 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
cht666cht escribió: No me lo he podido leer todo, pero tiene muy buena pinta! con lo que cuesta encontrar material de este tipo en español, y además tan bien explicado  Solo una pequeña tonteria... no sería Bounding Box en vez de Bouncing Box?
MUCHAS GRACIAS!!!!
 Se me tenía que notar que no hablo inglés, no?  Pues Muchas Gracias también... ahora ya tengo otra motivo para editarlo y meter lo que comentó Alx... de hoy no pasa!!! 
_________________ Un saludo. 
|
|
 |
|
 |
|
Kovenan
|
Asunto: Publicado: 18 Sep 2006 20:10 |
|
Registrado: 14 Sep 2006 15:16 Mensajes: 1636
|
|
Teniendo las coordenadas de los puntos por que necesitas el angulo para saber la distancia entre los 2 puntos ??
SALUDOS.
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 18 Sep 2006 20:16 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
La verdad es que ahora que he ido a añadirlo, me he dado cuenta de que se necesitaría saber el ángulo, aunque se podría obtener a partir de las coordenadas... pero no creo que resulte más eficiente...
De todas maneras, hoy estoy poco "matemático", que ayer estuve de guardia y no dormí nada en toda la noche... así que no me funciona muy bien el cerebro 
_________________ Un saludo. 
|
|
 |
|
 |
|
Kovenan
|
Asunto: Publicado: 18 Sep 2006 20:35 |
|
Registrado: 14 Sep 2006 15:16 Mensajes: 1636
|
YO tampoco estoy muy fino hoy pero no estaras confundiendo el paso de coordenadas de polar a rectangular con las distancias?
Citar: La verdad es que ahora que he ido a añadirlo, me he dado cuenta de que se necesitaría saber el ángulo, aunque se podría obtener a partir de las coordenadas... pero no creo que resulte más eficiente...
Para la distancia el angulo no es necesario, teniendo las coordenadas de los 2 puntos puedes sacar por un lado la distancia y por otro el angulo, no se alo mejor te estoy entendiendo mal.
SALUDOS.
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 18 Sep 2006 20:47 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
Ya te digo, Kovenan, que no me hagas mucho caso hoy  (A parte de que dejé demasiado tiempo las matemáticas "olvidadas", y ahora cuesta volver a ponerse  )
Yo, cuando he tenido que calcular la distancia entre dos puntos lo he hecho así:
Distancia = RAIZ CUADRADA DE ( (x2 - x1) 2 + (y2 - y1) 2 )
Alx me sugirió lo de la trigonometría, y lo miré por encima y me pareció buena idea, pero al ir a añadirlo hoy, me he dado cuenta de que necesitas saber el ángulo del triángulo rectángulo, y, aunque lo puedes obtener en base a las diferencias de las coordenadas, tienes que hacer tantos cálculos que no creo que sea eficiente. 
_________________ Un saludo. 
|
|
 |
|
 |
|
Kovenan
|
Asunto: Publicado: 18 Sep 2006 21:10 |
|
Registrado: 14 Sep 2006 15:16 Mensajes: 1636
|
|
Esa es la formula si Sr y con eso por lo que yo interpreto de tu tutorial te basta, a lo mejor para movimientos parabolicos pues hacen falta los senos y cosenos.
SALUDOS.
|
|
 |
|
 |
|
Beyker
|
Asunto: Publicado: 18 Sep 2006 21:25 |
|
Registrado: 24 Dic 2004 01:49 Mensajes: 2205 Ubicación: La vile du Barcelona
|
Benway escribió: Distancia = RAIZ CUADRADA DE ( (x2 - x1) 2 + (y2 - y1) 2 ) Alx me sugirió lo de la trigonometría, y lo miré por encima y me pareció buena idea, pero al ir a añadirlo hoy, me he dado cuenta de que necesitas saber el ángulo del triángulo rectángulo, y, aunque lo puedes obtener en base a las diferencias de las coordenadas, tienes que hacer tantos cálculos que no creo que sea eficiente. 
 La parte contratante de la primera parte, sera considerada como la parte contratante de la segunta parte.  MOOOCCC!!! MOOOOCCC!!!
Creo que solo he pillado "Alx me sugirio" jajaja
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 18 Sep 2006 21:48 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
Beyker escribió: Benway escribió: Distancia = RAIZ CUADRADA DE ( (x2 - x1) 2 + (y2 - y1) 2 ) Alx me sugirió lo de la trigonometría, y lo miré por encima y me pareció buena idea, pero al ir a añadirlo hoy, me he dado cuenta de que necesitas saber el ángulo del triángulo rectángulo, y, aunque lo puedes obtener en base a las diferencias de las coordenadas, tienes que hacer tantos cálculos que no creo que sea eficiente.   La parte contratante de la primera parte, sera considerada como la parte contratante de la segunta parte.  MOOOCCC!!! MOOOOCCC!!! Creo que solo he pillado "Alx me sugirio" jajaja
 :lol::lol::lol::lol::lol:
Ya me gustaría a mí hacer juegos como los tuyos 
_________________ Un saludo. 
|
|
 |
|
 |
|
Alx
|
Asunto: Publicado: 19 Sep 2006 04:55 |
|
Registrado: 25 Dic 2005 19:42 Mensajes: 5928 Ubicación: Barcelona
|
No es que se use senos o cosenos para hacer parábolas. También las podrías hacer por Pitágoras.
Lo que Ben os dice es que yo le dije que con tres fórmulas más simples que Pitágoras yo en el trabajo resuelvo cualquier triángulo rectángulo.
Las fórmulas son tres, la de la Tangente, Seno y Coseno.
Tan=C.Opuesto/C.convergente
Seno=C.Opuesto/Hipotenusa
Coseno=C.Convergente/Hipotenusa
Con estas tres fórmulas tan solo tendrías que despejarla según la incognita que quieras resolver. Si por ejemplo en la fórmula del seno lo que quieres resolver es el C.Opuesto, quedaría así:
C.Opuesto=Senoº x Hipotenusa (Te daría el vector Y)
El problema que le ha surgido a Ben es que cuando lo que tienes son los dos catetos, el Opuesto y el Convergente primero tendrías que usar la primera fórmula, invertir el resultado para darte los grados y después usar cualquiera de las dos del Seno o Coseno.
Tan=C.Opuesto/C.Convergente ---> INVERSO TAN=GRADOS
Y después con los grados una de las dos:
C.Opuesto=Seno(de los grados que has sacado) x Hipotenusa
---
Seguro que existe una Fórmula directa sin buscar los grados pero es que ahora no me acuerdo, tendría que mirar el Casillas o alguna tabla que tenga por el curro a ver 
_________________ 1:1 Amarás al Spectrum por encima de todas las cosas
|
|
 |
|
 |
|
na_th_an
|
Asunto: Publicado: 19 Sep 2006 07:27 |
|
Registrado: 22 Abr 2005 13:25 Mensajes: 11932
|
|
Alpha = arctg (b / a) con b y a los catetos.
|
|
 |
|
 |
|
Kovenan
|
Asunto: Publicado: 19 Sep 2006 10:18 |
|
Registrado: 14 Sep 2006 15:16 Mensajes: 1636
|
|
Yo no se que algoritmos se usan o formulas para los juegos,pero no entiendo para que se pueden usar las formulas trigonometricas de un triangulo rectangulo, teniendo las coordenadas, algún ejemplo??
Me ha gustado esto de las colisiones
SALUDOS.
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 19 Sep 2006 10:19 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
Kovenan escribió: Me ha gustado esto de las colisiones
 GRACIAS! 
_________________ Un saludo. 
|
|
 |
|
 |
|
na_th_an
|
Asunto: Publicado: 19 Sep 2006 10:30 |
|
Registrado: 22 Abr 2005 13:25 Mensajes: 11932
|
Kovenan escribió: Yo no se que algoritmos se usan o formulas para los juegos,pero no entiendo para que se pueden usar las formulas trigonometricas de un triangulo rectangulo, teniendo las coordenadas, algún ejemplo??
Me ha gustado esto de las colisiones
SALUDOS.
Para calcular distancias. Así, por ejemplo, puedes hacer que cambie el estado de un enemigo de "andando por ahí" a "persiguiéndote"... entre muchas otras cosas 
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 19 Sep 2006 10:34 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
na_th_an escribió: Kovenan escribió: Yo no se que algoritmos se usan o formulas para los juegos,pero no entiendo para que se pueden usar las formulas trigonometricas de un triangulo rectangulo, teniendo las coordenadas, algún ejemplo??
Me ha gustado esto de las colisiones
SALUDOS. Para calcular distancias. Así, por ejemplo, puedes hacer que cambie el estado de un enemigo de "andando por ahí" a "persiguiéndote"... entre muchas otras cosas 
Yo creo que Kovenan se refiere a que qué ventajas tiene calcular las distancias mediante trigonometría, frente a calcularlas mediante el teorema de pitágoras, con la formulita que comentábamos ayer... ¿no?
Yo creo que, si tenemos una tabla pregenerada para los senos y cosenos, es un cálculo MUY rápido y totalmente EXACTO, y la tabla pregenerada es una cosa muy frecuente, si queremos hacer cualquier movimiento elíptico y / o circular, si queremos hacer el famoso efectillo visual del agua, y mil aplicaciones más
¿no? 
_________________ Un saludo. 
|
|
 |
|
 |
|
na_th_an
|
Asunto: Publicado: 19 Sep 2006 10:38 |
|
Registrado: 22 Abr 2005 13:25 Mensajes: 11932
|
Yo me quedo con la fórmula de la arctg para el ángulo, que se hace en 0.2  (mi amiga atan2 del C  )
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 19 Sep 2006 10:45 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
|
Entonces... para añadirlo al tutorial... a ver si lo he entendido...
Si tenemos unos catetos A y B (que serían las diferencias de las coordenadas: A = x2 - x1 y B = y2 - y1), ¿la distancia en píxeles entre ambos se calcularía Distancia = ArcoTangente (B / A)? ¿Y eso en C se pondría así Distancia = atan2 (B, A);?
_________________ Un saludo. 
|
|
 |
|
 |
|
Kovenan
|
Asunto: Publicado: 19 Sep 2006 11:21 |
|
Registrado: 14 Sep 2006 15:16 Mensajes: 1636
|
Exacto yo me referia a que no le veo ventaja al calculo trigonometrico y menos solo para casos con angulos rectos.
Citar: Si tenemos unos catetos A y B (que serían las diferencias de las coordenadas: A = x2 - x1 y B = y2 - y1), ¿la distancia en píxeles entre ambos se calcularía Distancia = ArcoTangente (B / A)? ¿Y eso en C se pondría así Distancia = atan2 (B, A);?
EL cateto A y B seria una longitud, distancia o como quieras llamarlo, pero no es la diferencia de las cordenadas,para saber A y B necesitamos 3 puntos.
SALUDOS.
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 19 Sep 2006 11:34 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
Es que siempre se forma un triángulo rectángulo:
De esa manera, solamente con la operación que decíamos antes, tenemos la distancia (que es la hipotenusa de ese triángulo).
El tercer punto que comentas, sería el punto C, que es el vértice que tiene el ángulo recto.
Sobre ese dibujo, si he entendido bien, se aplicaría lo que comentábamos antes:
Citar: Si tenemos unos catetos A y B (que serían las diferencias de las coordenadas: A = x2 - x1 y B = y2 - y1), ¿la distancia en píxeles entre ambos se calcularía Distancia = ArcoTangente (B / A)? ¿Y eso en C se pondría así Distancia = atan2 (B, A);?
_________________ Un saludo. 
|
|
 |
|
 |
|
Kovenan
|
Asunto: Publicado: 19 Sep 2006 11:54 |
|
Registrado: 14 Sep 2006 15:16 Mensajes: 1636
|
|
Si claro pero necesitas saber los valores de A y B (los catetos) y el angulo, yo sigo viendo mas rapido aplicar la famosa formula de la raiz de la diferencia de puntos, ademas si el angulo no es recto sigue siendo valida, o incluso si tienes A y B la clasica formula de pitagoras H2=c2+c2
No se a lo mejor he interpretado mal la teoria de colisiones, pero basicamente es saber cuando 2 coordenadas distintas en principio al acercarse y colisionar se convierten en la misma no?
SALUDOS.
|
|
 |
|
 |
|
Benway
|
Asunto: Publicado: 19 Sep 2006 12:04 |
|
Registrado: 24 Dic 2005 10:18 Mensajes: 9249 Ubicación: Madrid
|
Kovenan escribió: Si claro pero necesitas saber los valores de A y B (los catetos) y el angulo, yo sigo viendo mas rapido aplicar la famosa formula de la raiz de la diferencia de puntos, ademas si el angulo no es recto sigue siendo valida, o incluso si tienes A y B la clasica formula de pitagoras H2=c2+c2 No se a lo mejor he interpretado mal la teoria de colisiones, pero basicamente es saber cuando 2 coordenadas distintas en principio al acercarse y colisionar se convierten en la misma no?
SALUDOS.
De lo que se trata (en este método de Bounding box circular, o caja envolvente circular), es que dos círculos cuyo centro esté a una distancia menor o igual a la distancia entre sus centros están colisionando.
La fórmula del la raiz cuadrada que comentas, también la haces en base a los catetos A y B, de hecho, es la raíz cuadrada de la suma de los catetos.
De esta otra manera, lo que haces es la ArcoTangente de la división de un cateto entre otro...
Otra manera de hacer lo mismo 
_________________ Un saludo. 
|
|
 |
|
 |
|