Saber si un punto está dentro de un polígono en un dibujo en papel con nuestra visión es natural. Diría intrascendente, obvio. Sin embargo, si tenemos que programar un algoritmo en una computadora para que lo verifique, tiene un curioso desarrollo. Los invito a pensar cómo lo harían antes de leer la solución propuesta más abajo.
El algoritmo, como podrán imaginar, es parte del juego de herramientas que nos brinda un Sistema de Información Geográfica. Y el desarrollo de una de las ideas que lleva a la solución es el motivo de este post.
El problema
Dado un punto P, definido por sus coordenadas ( Xp e Yp ) y un polígono cerrado de n lados definido también por sus coordenadas ( X1, Y1, X2, Y2 ,…, Xn, Yn coincidentes con X1, Y1 ). El problema propuesto es averiguar si el punto está dentro o fuera del polígono.
La solución
Para la solución del problema, asumimos que el punto no está contenido en ninguno de los segmentos límites del polígono.
La solución consiste en dibujar semi-líneas (o rayos) que pasen por P y contar el número de veces que el rayo intercepta con el polígono. Si el número de veces es impar, entonces el punto está dentro del polígono. Si el número es par, entonces el punto está fuera. Ver la figura siguiente.

Referencias:
—»GIS, A computing Perspective,» Michel F. Workboys, Editorial Taylor & Francis, London, 1995.
—»Mathematical Techniques in GIS», Peter Dale, CRC Press, London, 2004.
Hola, muy buen dato. Me dio la idea, pero pensé que encontraría hecho el programa. Si me queda tiempo intentare hacerlo y lo publicare para todos aquellos que no necesitamos inventar algo que ya esta hecho.
Me gustaLe gusta a 1 persona