0 Daumen
337 Aufrufe

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 :)

von

Flächenberechnung für jedes Polgon.

Bild Mathematik

Du rechnest reihum alle Flächen wie oben angegeben aus.
Die Aufsummierung F1 bis F5 ergibt den Flächeninhalt
des Polygons. Alle Vorzeichen beachten.

Hier in diesem Beispiel ist die letzte Fläche 0.

Bei Fragen wieder melden.

Das Problem ist, wenn die Polygone komplexer sind.

Habe mal ein Bild hochgeladen:

Bild Mathematik


Ich denke, darauf ist gut zu erkennen, dass der Schnittpunkt auf der lilanen Strecke liegt, bei komplexeren Formen ist eine Zerlegung erst durch Schnittpunkte möglich :S

Alle ( Außen- ) Eckpunkte sind zunächst  festzustellen.
Falls der ( Außen- ) Eckpunkt noch nicht vorliegt
muß er als Schnittpunkt ermittelt werden

Sind die Punkt A und B miteinander verbunden so Ist die
Geradengleichung zu bestimmen.

Sind die Punkt C und D miteinander verbunden so Ist die
Geradengleichung zu bestimmen.

Der Schnittpunkt der beiden Geraden ist zu ermitteln.

Ich kann das gern an einem Beispiel vorführen.
Dann bitte 4 Punkte angeben.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community