-
Problemino geometria
Salve a tutti, c'è qualcuno che sà trovarmi una soluzione al seguente problema?
Dati una serie di punti (diciamo 4 per semplicità) che identificano un poligono e dato un punto generico P;
Devo riuscire a capire se P giace dentro o fuori il poligono...
I punti giacciono tutti sullo stesso piano e quindi sono individuati da coppie di coordinate (x,y)...
PS: ovviamente il poligono (salvo rarissimi casi) non è un rettangolo...
Grazie
-
Ti propongo questa, devi però conoscere un punto che si trova già all'interno del poligono:
- per ogni coppia di vertici consecutivi, individua la retta passante per quei punti nella forma ax + by + c = 0. La formula dovrebbe essere questa se non ricordo male:
Codice:
y - y1 x - x1
------- = -------
y2 - y1 x2 - x1
dove ovviamente (x1, y1) e (x2, y2) sono le coordinate dei due punti in questione
- una volta che hai trovato le rette, "valuta" ciascuna per le coordinate del punto che conosci, se il risultato è positivo, sostituisci = con >, se negativo, sostituisci = con <. Se ti capitasse esattamente 0 vuol dire che hai scelto il punto noto esattamente su un lato... meglio evitare.
- a questo punto, hai un sistema di disequazioni che delimita il tuo poligono: ti basta verificare se il punto incognito le soddisfa tutte... e se è così il punto è interno. Se non ne verifica anche una sola, il punto è esterno, oppure si trova giusto su un lato (in questo caso deve essere axP + byP + c = 0 e x1 <= xP <= x2 e y1 <= yP <= y2).
Stammi bene...
-
Anche se in netto ritardo... Grazie sei stato utilissimo!
Ciao