Punkt im Polygonalgorithmus, der manchmal falsche Ergebnisse liefert [geschlossen]

Ich habe auf StackOverflow einen Raytracing-Algorithmus "Point in Polygon" gesehen, den ich in meinen PHP-Code implementiert habe. Meistens funktioniert es gut, aber in einigen komplizierten Fällen mit komplexen Polygonen und Teufelspunkten versagt es und es sagt, dass der Punkt nicht im Polygon ist, wenn er ist.

Zum Beispiel:
Du wirst findenHier Meine Polygon- und Point-Klassen: Die pointInPolygon-Methode befindet sich in der Polygon-Klasse. Am Ende der Datei befinden sich zwei Punkte, die innerhalb des angegebenen Polygons liegen sollen (True in Google Earth). Der zweite funktioniert gut, aber der erste ist fehlerhaft :(.

Sie können das Polygon in Google Earth ganz einfach mit überprüfendiese KML-Datei.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage