Flächeninhalt Viereck (2D)

Neue Frage »

svloga Auf diesen Beitrag antworten »
Flächeninhalt Viereck (2D)
Hallo,

ich möchte den Flächeninhalt von beliebigen Vierecken im 2D-Raum berechnen. Dazu teile ich das Viereck in zwei Dreiecke auf, berechne diese Flächeninhalte und addiere sie zum Endergebnis.

Das funktioniert auch, solange mein Viereck aus den Ecken ABCD (in dieser Reihenfolge) besteht und solange kein Punkt "nach innen" wandert (s. Bild 2):

(Verbindungslinien AB,BC,CD,DA sieht man jetzt hier nicht, zu viel Aufwand...)
code:
1:
2:
3:
4:
5:
6:
Bild 1
      D
                          C
A
            B

code:
1:
2:
3:
4:
5:
6:
7:
Bild 2
      D

                          
          B
A                     C

Bei Bild 2 ergibt die Diagonale AC offensichtlich keinen Sinn und ich muss die Diagonale BD verwenden.

Wie kann ich nun allgemein feststellen, welche Diagonale die richtige ist? Meine Idee wäre, immer beide Diagonalen AC und BD zu bestimmen und dann zu überprüfen, ob die Koordinaten eines Punktes A,B,C,D über dem Mittelpunkt der Diagonale liegen. Das wäre in Bild 2 ja der Fall, aber gilt das dann auch immer?

Der Flächeninhalt soll später mal durch ein Programm berechnet werden, daher brauche ich eine allgemeine Lösung. Vorgaben ist nur, dass das Viereck immer als ABCD (und z.B. nicht ACDB) angegeben wird.

Zusatzfrage: Ist das hier auch ein Viereck? Beim Verbinden der Punkte ABCD entsteht ja ein Kreuzungspunkt. Wenn es eins ist, dann helfen mir ja weder die Diagonale AC noch BD. Hier würde ich dann die Mittelpunkte der Strecken AD und BC bestimmen und aus den beiden Punkten meine Diagonale bilden und dann noch die Koordinaten vom Kreuzungspunkt bestimmen, um meine Seitenlänge + Höhe zu erhalten, um die beiden Dreiecksflächen zu berechnen.
code:
1:
2:
3:
4:
5:
6:
7:
Bild 3
D           
            B

            C
A           


Vielen Dank für eure Hilfe!
Dopap Auf diesen Beitrag antworten »
RE: Flächeninhalt Viereck (2D)
Zitat:
Original von svloga

ich möchte den Flächeninhalt von beliebigen Vierecken im 2D-Raum berechnen. Dazu teile ich das Viereck in zwei Dreiecke auf, berechne diese Flächeninhalte und addiere sie zum Endergebnis.


ein wenig mühsam. Für konvexe Vierecke ist die Fläche gleich dem Halben des Produktes der Diagonalen mal dem Sinus des Schnittwinkels der Diagonalen.

weitere Formeln: https://de.wikipedia.org/wiki/Viereck

Sind alle Koordinaten bekannt, gibt es die gaußsche Trapezformel.

https://de.wikipedia.org/wiki/Gau%C3%9Fsche_Trapezformel
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von svloga
Bei Bild 2 ergibt die Diagonale AC offensichtlich keinen Sinn und ich muss die Diagonale BD verwenden.

Nicht so voreilig: Wenn du den Flächeninhalt vorzeichenbehaftet ausrechnest, etwas über das Vektorprodukt, dann gilt durchaus auch hier

F(ABCD) = F(ABC) + F(ACD)

hier dann mit negativem F(ABC).
svloga Auf diesen Beitrag antworten »
RE: Flächeninhalt Viereck (2D)
Guten Abend und danke für eure Antworten.

Ich habe mich für die gaußsche Trapezformel entschieden, da sie offenbar für alle Vierecke gilt. Allerdings erhalte ich bei folgendem Viereck (überschlagenes symmetrisches Viereck) immer den Flächeninhalt 0. Das wirkt für mich so, als ob ein Vorzeichen nicht stimmt...ähnlich wie wenn bei einem Integral die Fläche 0 wird, weil es pos. und neg. gezählt wird.
code:
1:
2:
3:
4:
D            B       

A            C


Werde mich da nochmal ransetzen, vllt. lässt sich die Aussage von HAL 9000 bzgl. Vorzeichenbehaftung auch darauf beziehen, auch wenn ich ja nicht direkt mit dem Vektorprodukt rechne.
HAL 9000 Auf diesen Beitrag antworten »

Es geht z.B. , die gilt für jedes nichtüberschlagene Viereck.

code:
1:
2:
3:
4:
D            B       

A            C
Im Sinne von ABCD wäre das z.B. ein überschlagenes Viereck.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »