Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Collision Tridimensional Tri-tri

Iniciado por ranrannia, 23 de Diciembre de 2005, 12:23:04 PM

« anterior - próximo »

ranrannia

 Hola Gente !!!!

de antemano doy gracias por la ayuda ke me puedan proporcionar

este topico lo abro para pedir ayuda en justamente la kolision tridimensional triangulo a triangulo, el problema ke tengo es ke ya me kebre la kabeza  (nooo)  toooda la semana y no hayo una solución ke funcione korrectamente

buske en varias paginas, en google, en altavista, etc... y todos dicen ke la forma mas practika es kon las distancias de un punto a un plano, ya sake libros de bibliotekas, me chute varias horas aprendiendo geometria de los planos, y pas ahora entiendo lo de las distancias al plano.

Lo implemente todo en mi juego, revize una y otra vez ke todo estubiera bien escrito y kon las variables korrectas, pero seguia obteniendo kollisiones kuando no lo habia, el kodigo ke use fue el siguiente:

N es el vector normal del triangulo-plano
P es el vector de una vertice del triangulo-plano
V son los vectores de las vertices del triangulo
i=1,2,3 /*osease las tres vertices del plano*/

d=(Nx*(Vx-Px))+(Ny*(Vy-Py))+(Nz*(Vz-Pz));

esto dos veces interkambiando planos
si en ambos kalkulos son diferentes los signos entre D[1,2,3] entonce hay kollision

ahora pues funciona pero tambien hay kollision en posiciones en las ke no deveria haber, tras pensarlo un poko es obio ke las haya pues hay posiciones en las ke el triangulo no se choke pero las kondiciones se kumplan, por lo ke apesar de ke sea el metodo mas mensionado pues no funciona  :(

entonces pues la pregunta ke engloba todo este churro es:
¿komo kolisiono triangulos de forma korrecta?

Les agradesko mucho el tiempo ke se toman en leer este post
y reitero mi agradecimiento por su apoyo  (genial)

zupervaca

 En esta web tienes varios tutoriales para esto y otras cosas.

fiero

www.videopanoramas.com Videopanoramas 3D player

Elvis Enmanuel

 Te han comentado que los planos son infinitos?
Tienes que hallar la distancia de un punto a un plano y despues comprobar si el punto en el que colisiona esta dentro de los ejes del triangulo. Para ello comparas la normal del plano, discriminas la que sea mayor fabsf(n) y lo compruebas en 2d

ains

tiutiu

 Personalmente no te recomiendo mucho la colision tri-tri porque ademas de ser costosa, suele ser innecesaria, ya que hay otros muchos tipos de deteccion de colision que suelen ser precisos y mas rapidos (de programar y al ejecutar). Por ejemplo arboles de esferas o de cajas (alineadas u orientadas).
Si lo quieres hacer para aprender, vale, pero si lo haces para algo en concreto quizas si lo comentas te podemos decir algo que sea mas eficiente.

De todos modos en la web del motor Wild Magic hay codigo fuente que puedes mirar.
Supongo que sabras que la colision tri-tri tiene varios resultados. Bien puede colisionar una arista o uno de los vertices, asi que has de probar ambas posibilidades, cada una conlleva un algoritmo diferente. Asi que puede devolverte un punto si chocan vertice-triangulo, vertice-arista, vertice-vertice (improbable) o arista-arista, y un segmento si chocan arista triangulo o si hay interpenetracion entre ambos triangulos.
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

ranrannia

  :P  Gracaias a todos por su pronta respuesta

tienen mucha razón la kolisión triangulo a triangulo es muy kostosa y he decidido usar kolisiones
prefabrikadas y divididas en kubitos

de todos modos las paginas ke me han proporcionado me han sido de gran ayuda, les reitero mi agradecimiento y aprovecho tambien para decearles una Feliz Navidad y Prospero Año nuevo  (ole)  

raistlin

Intento que los novatos entiendan como funciona el mundo.

Mars Attacks

 A ver si puedes escribir un poquitín mejor, colega. Los talibanes ortográficos no creemos en la navidad, así que no hay contemplaciones.

fiero

 
Cita de: "Mars Attacks"A ver si puedes escribir un poquitín mejor, colega. Los talibanes ortográficos no creemos en la navidad, así que no hay contemplaciones.
Además, los textos bien escritos se leen 4 veces más rápido que los mal escritos, debido a que el cerebro reconoce las palabras por su "forma". Si se cambian letras como por ejemplo la "c" por la "k", la vista se "traba" al recorrer las líneas y la lectura se hace mucho más lenta e incómoda. Probad a leer el mismo texto reemplazando las "c" por "k" y cronometrad...  :ph34r:

Escribamos bien todos. Mars está al acecho...  :D

un saludo
www.videopanoramas.com Videopanoramas 3D player

zupervaca

 Estaría bien que pasaran por algún corrector ortográfico las frases que escriben para ver que loco se vuelve el programa, yo ya pongo hasta tildes por que es que si no el texto queda de lo peor, es mas, cuando tengo dudas ejecuto el Microsoft Word y pego la frase para estar seguro de la ortografía.

AK47

 A lor buenos dias
Aqui tienes varias librerías para el asunto este de las colisiones. Yo uso el OPCODE y tira muy bien  B)  






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.