Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Punto dentro de un Triangulo 3D (https://www.clubdelphi.com/foros/showthread.php?t=91865)

FENIXadr 21-05-2017 02:39:31

Punto dentro de un Triangulo 3D
 
Hola gente .. otra vez recurro a sus conocimientos.. les explico mi problema .. estoy haciendo unos graficos en 3D y necesitaria si alguien sabe de donde puedo sacar la teoria (no es necesasrio el codigo en Delphi... aunque seria fabuloso.. :D) de como saber si un punto esta dentro de un triangulo... se encuentra por todos lados una manera para graficas en 2D pero no logro adaptarla a 3D.. desde ya muchas gracias..

Ñuño Martínez 22-05-2017 09:34:32

Si no recuerdo mal, da igual que sea 2D que 3D siempre que se usen vectores. Es decir, las operaciones con vectores 2D son las mismas y dan los mismos resultados que con vectores 3D (cada uno dentro de su propio sistema de coordenadas, claro).

Ahora no tengo acceso a mi documentación, pero existe un algoritmo que consiste (si no recuerdo mal) en:
  1. Calcular (o determinar) la ecuación del plano del triángulo. Esto debería ser fácil.
  2. Determinar si el punto está en el mismo plano que el triángulo. Esto también debería ser fácil.
  3. A partir de ahí, si el triángulo original es ABC y el punto es P, comprobar si la suma del área de los triángulos ABP y ACP es menor o igual que el área de ABC, lo que querrá decir que el punto está dentro; si fuera mayor entonces estaría fuera. Si haces unos pocos dibujos de triángulos lo veras. Este punto es más complejo.
Este no es el único método, pero es el único cuya teoría me sé de memoria. En el artículo de Flipcode Building a 3D Portal Engine - Issue 12 - Collision Detection se discute la deteción de colisiones esfera-triángulo, de la que seguro podrás extraer un algoritmo para saber si un punto (o esfera de radio 0) está "dentro" del triángulo.

FENIXadr 22-05-2017 13:32:05

hola ñuño.. si es cierto.. si lo miro en el plano del triángulo solo me quedan 2 coordenadas.. (X, Y).. otra forma que voy a probar será hacer una proyección al plano de la cámara. pero en esencia es lo mismo.. ahora voy a ver el link que me enviaste y te comento que puedo sacar de allí... muchas geacias..

FENIXadr 22-05-2017 21:21:47

hola ñuño... estuve viendo el link y me viene como anillo al dedo para otras cosas que tengo que hacer.. muchísimas gracias..

Ñuño Martínez 24-05-2017 11:54:01

De nada. Me alegra que te sirva. :)


La franja horaria es GMT +2. Ahora son las 12:25:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi