La soluzione di Renato, anch'essa corretta (d'altra parte da lui non potevamo aspettarci di meno) ha il solito svantaggio di doversi prima accertare della convessità o meno del poligono.
Mircof ci si è avvicinato molto.
Ma quello che, a mio modesto avviso, mi sembra il metodo più semplice possibile è quello che ho ribattezzato "metodo della semiretta".
Vediamolo prima graficamente, perchè la trattazione analitica viene di conseguenza.
In pratica partendo dal punto x0,y0 si traccia una semiretta. Prima o poi, se x0,y0 è interno al poligono questa semiretta dovrà "bucare" il poligono stesso.
Fatto, quindi.
Però so cosa già mi direte, perchè la soluzione funziona per i poligoni convessi, ma per i concavi?
Basta semplicemente un piccolo passaggio, ovvero una variazione nella definizione:
Se la semiretta interseca il poligono un numero
dispari di volte, il punto x0,y0 è
interno al poligono.
Se la semiretta interseca il poligono un numero
pari di volte (e il numero 0 qui va considerato pari), il punto x0,y0 è
esterno al poligono.
Nella figura sottostante i casi che possono presentarsi. Per semplificare la trattazione analitica ho provveduto a segnare semirette orizzontali e con"x maggiori" di x0.