Sascha D.
- Forum-Beiträge: 74
15.03.2012, 12:41:46 via Website
15.03.2012 12:41:46 via Website
hallo leute,
gibt es eine funktion wie in normal java um einen punkt im polygon zu ermitteln ?
ansonsten für einen funktionierenden algorithmus der flott ist, wäre ich dankbar.
bei java gibts ja
Polygon contains(int x, int y);
aber awt gibts ja auf android nicht.
und der algo, den ich gefunden habe, der kommt bei ecken nicht klar.
public boolean contains(int x, int y) {
boolean oddTransitions = false;
for (int i = 0, j = polySides - 1; i < polySides; j = i++) {
if ((polyY[i] < y && polyY[j] >= y)
|| (polyY[j] < y && polyY[i] >= y)) {
if (polyX[i] + (y - polyY[i]) / (polyY[j] - polyY[i])
* (polyX[j] - polyX[i]) < x) {
oddTransitions = !oddTransitions;
}
}
}
return oddTransitions;
}
gibt es eine funktion wie in normal java um einen punkt im polygon zu ermitteln ?
ansonsten für einen funktionierenden algorithmus der flott ist, wäre ich dankbar.
bei java gibts ja
Polygon contains(int x, int y);
aber awt gibts ja auf android nicht.
und der algo, den ich gefunden habe, der kommt bei ecken nicht klar.
public boolean contains(int x, int y) {
boolean oddTransitions = false;
for (int i = 0, j = polySides - 1; i < polySides; j = i++) {
if ((polyY[i] < y && polyY[j] >= y)
|| (polyY[j] < y && polyY[i] >= y)) {
if (polyX[i] + (y - polyY[i]) / (polyY[j] - polyY[i])
* (polyX[j] - polyX[i]) < x) {
oddTransitions = !oddTransitions;
}
}
}
return oddTransitions;
}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.