Estoy tratando de determinar la distancia de un punto a un polígono en el espacio 2D. El punto puede estar dentro o fuera del polígono; El polígono puede ser convexo o cóncavo.Distancia de un punto a un polígono
Si el punto está dentro del polígono o fuera del polígono con una distancia menor que una constante definida por el usuario d
, el procedimiento debe devolver True
; False
de lo contrario.
He encontrado una pregunta similar: Distance from a point to a polyhedron or to a polygon. Sin embargo, el espacio es 2D en mi caso y el polígono puede ser cóncavo, por lo que es de alguna manera diferente de ese.
Supongo que debe haber un método más simple que compensar el polígono por d
y determinar si está dentro o fuera del polígono.
Algún algoritmo, código o indirectas para mí para googlear sería apreciado.
¿El código de llamada necesita saber la distancia, o simplemente si está dentro de una cierta distancia? –
Encontré esto para ti. Devuelve la distancia real de punto a polígono (positivo si el punto está fuera del polígono y negativo de lo contrario). Es código de Matlab, pero puede ser útil desde una perspectiva algorítmica: http://www.mathworks.com/matlabcentral/fileexchange/19398-distance-from-a-point-to-polygon/content/p_poly_dist.m –
@KendallFrey solo si está dentro de una cierta distancia. Sin embargo, ¿sería posible determinar si está dentro de una cierta distancia sin saber exactamente cuál es la distancia? – clwen