Moin,
ich möchte mathematisch herausfinden ob ein Punkt in einem Polygon liegt. Dazu habe ich auf http://www-lehre.informatik.uni-osnabrueck.de/~cg/20… drei Ansätze gefunden die ich dann in JAvaScript umgesetzt habe. Z.B.:
function pointInPolygon(x, y) {
var inside = false;
var xpoints = new Array(3592000,3592000,3893000,3893000,3710000,3710000);
var ypoints = new Array(5907000,6081000,6081000,5820000,5820000,5907000);
var x1 = xpoints.length-1;
var y1 = ypoints.length-1;
var x2 = xpoints[0];
var y2 = ypoints[0];
var startUeber = (y1 \>= y) ? true : false;
for(var i = 1; i = y) ? true : false;
if(startUeber != endUeber) {
if((y2 - y)\*(x2 - x1)
Doch die Ergebnisse stimmen nicht. Einige Punkte die außerhalb des Polygons sind, bekommen ein true.
Hab ich das nun falsch in JS umgesetzt oder stimmt die Berechnung nicht?
Paul
<sub>Mod: Code in pre eingeschlossen</sub>