Mas del loco de la circunferencia =)

Hola!
El problema que tengo ahora es el siguiente:
Tengo un punto P (x, y) y necesito saber si pertenece o no a un determinado polígono, del que tengo todos los vértices (acordate de que es para hacer un programa, no un ejercicio)
Hasta ahora lo que se me ocurrió es por cada punto, tomar la distancia de él con cada uno de los demás puntos, y quedarme con la mayor de todas (es decir, tomar la diagonal mayor).
Luego, en cada punto del polígono, "trazo" una circunferencia de radio igual a la mayor "diagonal" del polígono, ¿y calcular la potencia del punto P con cada una de las circunferencias (Pot (P) = (x - a)^2 + (y - b)^2 - r^2?). Si me da que el punto P pertenece a todas las circunferencias, el punto pertenece al polìgono; pero si no pertenece a una, entonces ya no pertenece.
Me gustaría saber si esto está bien, si hay una manera más "prolija" o más fácil.
Gracias!
Leo Sìvori.
Respuesta
1
Perdona que haya tardado en contestar.
Lo que me cuentas tiene mucho sentido. No he conseguido demostrarlo, pero tampoco he encontrado contraejemplos, al menos en polígonos convexos.
No se me ocurre ninguna idea para hacerlo de otro modo, lo siento. Pero la que tú me cuentas tiene buena pinta de ser "programable".
Espero haberte servido de algo. Si has consultado a otro experto, me gustaría conocer si tienes alguna respuesta mejor.
Claro, es lo que te decía. En polígonos convexos parece que va bien, pero si no lo son -como tu herradura-, pues lo mismo fallaba. Y ya veo que te falló.
Suerte en tu búsqueda. Ya me contarás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas