Sto provando a determinare la distanza da un punto a un poligono nello spazio 2D. Il punto può essere all'interno o all'esterno del poligono; Il poligono può essere convesso o concavo.Distanza da un punto a un poligono
Se il punto si trova all'interno del poligono o all'esterno del poligono con una distanza inferiore a una costante definita dall'utente d
, la procedura deve restituire True
; False
altrimenti.
Ho trovato una domanda simile: Distance from a point to a polyhedron or to a polygon. Tuttavia, lo spazio è 2D nel mio caso e il poligono può essere concavo, quindi è in qualche modo diverso da quello.
Suppongo che ci dovrebbe essere un metodo più semplice che compensare il poligono di d
e determinarlo all'interno o all'esterno del poligono.
Qualsiasi algoritmo, codice o suggerimenti per me per google in giro sarebbe apprezzato.
Fa il codice chiamante ha bisogno di conoscere la distanza, o semplicemente se si tratta entro una certa distanza? –
Ho trovato questo per te. Restituisce la distanza effettiva dal punto al poligono (positivo se il punto è al di fuori del poligono e negativo altrimenti). È un codice Matlab ma può essere utile da una prospettiva algoritmica: http://www.mathworks.com/matlabcentral/fileexchange/19398-distance-from-a-point-to-polygon/content/p_poly_dist.m –
@KendallFrey solo se è all'interno di una certa distanza. Tuttavia, sarebbe possibile determinare se si trova entro una certa distanza senza sapere esattamente quale sia la distanza? – clwen