La respuesta correcta depende de la grande-cuadro estructura del problema: ¿qué sucede cuando se tienen en cuenta múltiples consultas? Supongo que cada consulta tratará con un punto diferente. Pero, ¿y el polígono? ¿Esperas recibir múltiples consultas para el mismo polígono? ¿O cada vez que el polígono es diferente?
Si cada consulta se aplica a un polígono diferente e impredecible, la única solución que tiene es esencialmente la inspección total de todos los bordes del polígono con una prueba de distancia punto a segmento para cada uno. Se puede optimizar de varias maneras [heurísticas] (para descartar las pruebas innecesarias al principio), pero en el peor de los casos no hay forma de evitar la prueba completa.
Sin embargo, si espera algún tipo de predictibilidad y estabilidad en el lado del polígono del problema (suficientes consultas puntuales al mismo polígono oa un conjunto fijo de polígonos), la situación cambia drásticamente. El mejor enfoque en este caso sería precompilar el diagrama de Voronoi basado en el borde dentro del polígono (s). Luego puede resolver el problema de ubicación de puntos (para el cual existen algoritmos eficientes conocidos) a fin de determinar en qué región de Voronoi cae el punto de consulta. Eso te dirá inmediatamente qué borde es el más cercano.
Este último es incomparablemente más eficiente cuando necesita manejar muchas consultas puntuales al mismo polígono (s), pero requiere un gran esfuerzo para implementarlo. Entonces, todo depende de qué tipo de solución necesites.
P.S. Veo que indicas en tu pregunta que vas a ejecutarlo para un gran conjunto de puntos para un solo polígono. Esto inmediatamente hace que la solución basada en el diagrama de Voronoi sea el camino a seguir.Los matices adicionales del algoritmo pueden depender de si ese gran conjunto de puntos es completamente conocido de antemano o llega punto por punto de manera impredecible.
Solo por el orden de 100 puntos, este NO es un gran conjunto de puntos, a menos que lo hagas un sinfín de veces, o a menos que el propio polígono tenga tropecientos millones de bordes. En algún momento, una descomposición de quadtree podría ayudar. Antes de llegar a ese punto, es bastante fácil de resolver para la distancia de un punto a un segmento de línea, incluso en una forma vectorizada si su lenguaje permite tal cálculo. –