es gibt 5 zufällig gewählte Punkte, diese werden nacheinander verbunden. Der 6. Punkt ist gleich dem 1. Punkt, damit sich die Form schließt und daraus ein Polygon entsteht. In diesem Polygon können Teilflächen entstehen, müssen aber nicht.
Ziel ist es einen Algorithmus zu finden, der sämtliche zufällig entstandene Polygone prüft und den Flächeninhalt JEDER zufällig entstandenen Teilfläche berechnen kann.
Ich versuche nun zuerst die Schnittpunkte zu berechnen, die Rechnung scheint aber noch fehlerhaft zu sein. Das Ganze sieht wie folgt aus:
// Punkte
start1 = Anfang Strecke AB
ende1 = Ende Strecke AB
start2 = Anfang Strecke CD
ende2 = Ende Strecke CD
// Zwischenwerte
x1 = ende1.X - start1.X;
x2 = start2.X - ende2.X;
x3 = start2.X - start1.X;
y1 = ende1.Y - start1.Y;
y2 = start2.Y - ende2.Y;
y3 = start2.Y - start1.Y;
// Determinanten
d1 = x1 * y2 - y1 * x2;
d2 = x3 * y2 - y3 * x2;
d3 = x1 * y3 - y1 * x3;
// s und t
s = d2 / d1;
t = d3 / d1;
// Schnittpunktberechnung
schnittpunktX = start1.X + s * x1;
schnittpunktY = start1.Y + t * y1;
// Überprüfung
Wenn s >= 0 UND s <= 1 UND t >= 0 UND t <= 1
-> Schnittpunkt auf der Strecke
Ansonsten
-> Nicht auf der Strecke
Ich hoffe jemand kann mir da schnell weiterhelfen :)