Point i Polygon?

Hvordan sjekke om punktet X, Y innenfor en polygon.Point i polygonApparently denne løsningen innebærer å sjekke hvor mange ganger du crossa kø for å passere fra punkt X, Y til ytterkanten av screen.I ærlig har aldri prøvde å lese koden riktig å prøve tounderstand konseptet, jeg bare vet at det synes å fungere fungere PtInPoly (const Poeng: Array of TPoint, X, Y: Integer): boolske; Var Count, I, J: Integer; begynne Resultat : = False; Count: = Lengde (Points); J: = Count-1; for jeg: = 0 til Count-en gjør begynne if ((Points [I] .Y < = Y) og (Y < Points [J] .Y)) eller ((Points [J] .Y < = Y) og (Y < Points [I] .Y)), og start if (x < (poeng [J] .x - poeng [i] x) * (y - Poeng [i] .Y) /( Poeng [J] .Y - Poeng [i] .Y) + Points [i] x) da Resultat: = ikke Resultat; slutt; J: = I; end, end; Anmeldelser



Previous:
Next Page: