Medialaxis: Bugsquashing…
… und es hat grad: BAMM! gemacht.
Ein Bug, welcher mich seit gut 2 Monaten nervt, ist so eben gekillt worden. Lösung:
// add the reduced intersection point to the vPoints2D as we
// need it for testing if its part of the convex hull vPoints2d.push_back(reducedIntersectionPoint);
und schon klappts auch mit der Theorie.
Hintergrund:
Ich prüfe, ob ein Punkt in einem konvexen Polygon ist. Das passiert so, dass alle Punkte die das Polygon aufspannen UND der gesuchte Punkt in einen ch_graham algo geworfen werde. Dieser Algorithmus bastelt nun ein konvexes Polygon aus den Punkten. Wenn nun der gesuchte Punkt in den Punkten des konvexen Polygons zu finden ist, dann ist der Punkt für mich NICHT im Polygon. Ich geh natürlich davon aus, dass der gesuchte Punkt NICHT auf der Kante des Polygons liegt.
Bug:
Ich hab vergessen den gesuchten Punkt in die Punktmenge reinzugeben. Daher war der Punkt natürlich NIEMALS Teil der Menge an Punkten die das Polygon aufspannen. Elends dummer Bug.
Gefunden, eliminiert – funktioniert! Ich check das alles mal ins CVS ein und freue mich auf ein Bier … 😉
– Thomas