La problematica è la stessa che ho indicato per la metodologia che avevo pensato.
Si può procedere cosi:
Si fa un controllo e si verifica se vi siano vertici del poligono che hanno ordinata y=y0.
Se esiste uno, o più, vertici di questo tipo si verifica se i lati che convergono nel vertice stanno entrambi da una stessa parte rispetto all’orizzontale (entrambi sopra o entrambi sotto) oppure da parti opposte.
Nel primo caso (caso del punto 4 in figura) il vertice 4 si considererà appartenente sia al lato della poligonale L3 che al lato L4, risulteranno due intersezioni.
Nel secondo caso( caso del punto 3 in figura) il vertice 3 si considererà appartenere ad uno solo dei due lati della poligonale (L2, L3), risulterà una sola intersezione.
Lati di poligonale con ordinata y=y0 si possono controllare preliminarmente verificando se il punto ricercato vi appartiene o meno nel caso in cui il punto non vi appartenga si esclude il lato dalla procedura di ricerca delle intersezioni.