Willkommen bei Ask1.org

Hier diskutieren mehr als 10.000 User die verschiedensten Themen!
Register Now

Berechnung einer Polygonfläche

Dieses Thema im Forum "Technik, Forschung und Entwicklung" wurde erstellt von Trasher, 23. November 2004.

  1. Trasher

    Trasher Forenlegende

    Beiträge:
    5.854
    Registriert seit:
    10. April 2002
    Es geht um die Berechnung des Flächeninhaltes eines beliebigen n-Ecks.
    Gegeben sind lediglich n Eckpunkte, ihre Reihenfolge gibt die Form des n-Ecks an.

    [0,0]; [2,0]; [2,1]; [0,1] würde also ein Rechteck beschreiben, wobei in einem solchen einfachen Fall die Berechnung des Flächeninhaltes natürlich trivial ist.

    Wie sieht es aber zum Beispiel aus, wenn solch ein Fünfeck gegeben ist:
    [15, 0]; [90,25]; [90,65]; [55,90]; [0, 75] ?

    Gibt es da einen einfachen Ansatz?


    Grüße, Trasher.
     
  2. antimagnet

    antimagnet Forenlegende

    Beiträge:
    9.726
    Registriert seit:
    10. April 2002
    was isn das für ein fünfeck, soll ich mir da jetzt ein koordinatensystem malen oder was?


    :motz:


    :lol:
     
  3. Kasimir

    Kasimir Erleuchteter

    Beiträge:
    1.218
    Registriert seit:
    11. September 2004
    Ort:
    Wuppertal
    Bitte genauer! Sind das jetzt Koordinaten oder Zahlen ohne Maßeinheiten? :gruebel:








    Bahnhof? 8O
     
  4. antimagnet

    antimagnet Forenlegende

    Beiträge:
    9.726
    Registriert seit:
    10. April 2002
    lol
     
  5. hives

    hives Ehrenmitglied

    Beiträge:
    3.623
    Registriert seit:
    20. März 2003
    in dreiecke zerlegen?



    :lol:
     
  6. Er4z3r

    Er4z3r Großmeister

    Beiträge:
    754
    Registriert seit:
    23. Mai 2003
    Ort:
    Der rote Raum
    Wenn ich mir das mit dem Rechteck so angucke, können das nur Koordinaten sein.
     
  7. Kasimir

    Kasimir Erleuchteter

    Beiträge:
    1.218
    Registriert seit:
    11. September 2004
    Ort:
    Wuppertal
    Die Frage ist jetzt wie sieht das Koordinatensytem aus im dem das "Objekt der Begierde" gezeichnet werde soll? x / -x und y / -y?

    Du denkst doch etwa nicht Trasher ich werde das jetzt Zeichen, Ausrechnen und dann das Ergebniss Einscannen und dir per Mail zu schicken? :motz: :-/ :motz:















    :lol:




    Bahnhof? 8O
     
  8. Er4z3r

    Er4z3r Großmeister

    Beiträge:
    754
    Registriert seit:
    23. Mai 2003
    Ort:
    Der rote Raum
    Wie meinst du das jetzt? Ich bin kein Mathegenie, aber links vom "/" steht immer x und Rechts y, oder nicht?
     
  9. Trasher

    Trasher Forenlegende

    Beiträge:
    5.854
    Registriert seit:
    10. April 2002
    Kannste tun. Tut aber eigentlich nix zur Sache. Der Algorithmus muß mit einer Punktmenge zurechtkommen, mehr steht nicht zur Verfügung.
    Da eine Punktmenge eine Fläche eindeutig definiert und eine Fläche einen eindeutigen Flächeninhalt besitzt, muß diese Information reichen.

    Die Fläche sieht beispielhaft so aus:
    [​IMG]

    Das sind x-y-Koordinaten ohne Maßeinheiten. Wenn Dir die Lösung leichter fällt, dann nimm halt an, daß es sich um mm handelt. ;)

    Ja, das war auch mein erster Gedanke, aber wie löst man die Sache mit den Überschneidungen? Denk dran, nicht ich muß den Flächeninhalt berechnen sondern ein Rechner.
     
  10. Kasimir

    Kasimir Erleuchteter

    Beiträge:
    1.218
    Registriert seit:
    11. September 2004
    Ort:
    Wuppertal
    Ein Pentagramm? :gruebel:




    Was für ein Mathelehrer hast du? 8O





    Den Fürst der Finsternis? :twisted:
     
  11. Trasher

    Trasher Forenlegende

    Beiträge:
    5.854
    Registriert seit:
    10. April 2002
    Ich wußte, daß das Pentagramm nicht unkommentiert bleiben würde. :lol:
     
  12. Suleiman

    Suleiman Geselle

    Beiträge:
    52
    Registriert seit:
    13. Juni 2002
    Nach etwas Nachdenken ist mir ne allgemeine Lösungsmöglichkeit (mittels Integration) für das Problem eingefallen. Ich versuche mal, diese wiederzugeben:

    Wir haben ein Fünfeck mit P1=[15|0]; P2=[90|25], P3=[90,65], P4=[55|90], P5=[0|75]

    Zuerst kuckst du, welcher Punkt am meisten links in der Ebene liegt, also die kleinste X-Koordinate hat. In deinem Beispiel ist das P5. Dann überlegen wir uns, welcher Punkt am weitesten rechts in der Ebene liegt, also die größte X-Koordinate hat. In unserem fall sind das P2 und P3, wobei P3 eine größere Y-Koordinate hat.

    Als nächstes verbinden wir die beiden (oder eben drei, manchmal auch vier) Eckpunkte, und zwar entlang der Linien des n-Ecks, in unserem Fall also einmal
    P5-P4-P3 (diese Linie beschreibt den oberen Weg)
    und
    P5-P2 (diese Linie beschreibt den unteren Weg)
    Die Verbindung P2-P3 ist in unserem Fall nicht wichtig.

    Der nächste Schritt besteht nun darin, für diese beiden Verbindungslinien je eine Funktion, die diese beschreibt, zu finden. Das geht natürlich einfach über zusammengesetzte Funktionen.

    Beginnen wir mit der Funktion für den oberen Weg (im folgenden o(x) genannt). Diese teilt sich auf in zwei Teilfunktionen, einmal für die Strecke P1-P4 (o1(x) im folgenden) und P4-P3 (o2(x) im folgenden)

    o1(x) ist damit (x(pn) und y(pn) bezeichnen die x- bzw. y-Koordinaten der beiden Punkte):
    o1(x)=(y(p4)-y(p5))/(x(p4)-x(p5)) * x + x(p5) für
    o1(x)=(90-75)/(55-0)*x+0
    o1(x)=3/11*x

    und o2(x):
    o2(x)=(y(p3)-y(p4))/(x(p3)-x(p4)) * x + x(p3)
    o2(x)=(65-90)/(90-55) * x + 55
    o2(x)=-5/7*x+55

    Analog ergibt sich für die Funktion des unteren Wegs u(x):

    u(x)=(y(p1)-y(p5))/(x(p1)-x(p5)) * x + x(p5)
    u(x)=(0-75)/(15-0) * x + 0
    u(x)=-5x

    Bis jetzt noch mitgekommen? Gut, das war der einfache Teil :D. Jetzt wird nämlich integriert...

    Der Trick ist nämlich jetzt einfach, die Fläche unter der oberen Linie zu berechnen, die ja genau die Fläche des Fünfecks plus die Fläche des Bereichs zwischen Fünfeck und x-Achse ist, und dann davon die Fläche unter der unteren Linie, die ja genau die Fläche zwischen Fünfeck und x-Achse ist, abzuziehen. Damit erhält man dann die Fünfecksfläche.
    Also (Edit: Die Fragezeichen sind Integralzeichen, blödes Opera):
    A=?o(x)dx - ?u(x)dx, beide Integrale natürlich im Bereich des Fünfecks, also von x(p5) nach x(p2) bzw. x(p3). Für das Integral von o(x) erhalten wir:

    ?o(x)dx = ?o1(x)dx + ?o2(x)dx, natürlich wieder in den entsprechenden Geltungsbereichen. Und weiter:

    ?o(x)dx=?(3/11*x)dx+?(-5/7*x+55)dx
    ?o(x)dx=[3/22*x²] + [-5/14*x²+55x], beides in den Geltungsbereichen.
    Also:
    ?o(x)dx=3/22*x(p4)²-3/22*x(p5)² - 5/14*x(p3)²-55*x(p3) + 5/14*x(p4)^2 + 55*x(p4)
    ?o(x)dx=...

    Das selbe für das untere Integral und du bist fertig.

    Also Zusammenfassung:
    • Wege bestimmen
    • Wegfunktionen bestimmen
    • Integrale ausrechnen
    • Integrale voneinander abziehen
    • Fertig

    Eigentlich doch vergleichsweise einfach dafür, dass du den Flächeninhalt jedes beliebigen n-Ecks damit bestimmen kannst...
     
  13. Kasimir

    Kasimir Erleuchteter

    Beiträge:
    1.218
    Registriert seit:
    11. September 2004
    Ort:
    Wuppertal
    Bahnhof? 8O
    Wie gut das ich nur G-Kurs Mathe hatte :roll:
     
  14. Suleiman

    Suleiman Geselle

    Beiträge:
    52
    Registriert seit:
    13. Juni 2002
    Eigentlich müsste man das auch mit dem Grundkurswissen Mathe verstehen können. Vielleicht hab ich mich einfach nich klar genug ausgedrückt bzw. hab tatsächlich am Ende abgebrochen, weil nur noch Zahlen einzusetzen waren. Im Zweifelsfall versuchen, jeden Rechenschritt nachzuvollziehen.

    Wie gut, dass ich Physik LK hab bzw. studier.
     
  15. Kasimir

    Kasimir Erleuchteter

    Beiträge:
    1.218
    Registriert seit:
    11. September 2004
    Ort:
    Wuppertal
    :oops:


    Also wenn ich das hier Lese mein lieber Suleiman
    1. Kopfschmerzen.
    2. Bahnhof. 8O

    Gut das du so gut Mathe kannst und dir Mühe machst das zu Posten *Respekt* :wink:
     
  16. antimagnet

    antimagnet Forenlegende

    Beiträge:
    9.726
    Registriert seit:
    10. April 2002
    ja mann.


    du kannst die seiten des fünfecks als hypotenusen betrachten, mit parallelen der koordinatenachsen als katheten. die fläche dieser dreiecke ist 1/2*a*b, oder?

    dann malst du ein rechteck um dein fünfeck drumrum, und zwar so, dass eine kante des fünfecks mit einer kante des rechtecks übereinstimmt und die anderen drei ecken die kanten des rechtecks berühren.

    fläche ausrechnen und die dreiecksflächen abziehen und du hast die fläche des fünfecks.

    ich kann dir das jetzt nicht in ne formel bringen, aber mal mit deinen koordinaten beschreiben.

    die dreiecke gehen

    15/0 90/0 90/25
    90/65 90/90 55/90
    55/90 0/90 0/65
    0/65 0/0 15/0

    das rechteck außen:

    0/0 90/0 90/90 0/90

    hat also die größe 90*90=8100

    die dreiecke

    (90-15)*25 /2=937,5
    (90-65)*(90-55) /2=437,5
    55*(90-75) /2=412,5
    65*15 /2=487,5

    zusammen:

    2275.

    das von 8100 abziehen.

    8100-2275=5825.

    das ist die größe deines fünfecks.

    sach ich jetz ma so. rächenfehler vorbehalten.

    nachtrag:
    na toll, da wollt mir einer die lorbeeren wegschnappen - wahrscheinlich ists ihm auch noch gelungen.

    hier ein bild zur illustration, wie ichs meine:

    [​IMG]
     
  17. Trasher

    Trasher Forenlegende

    Beiträge:
    5.854
    Registriert seit:
    10. April 2002
    Hm hm hmmm. Danke für die Anregungen.

    Mit Funktionsdefinitionen à la y=f(x) bin ich bei dieser Sache schon frühzeitig auf die Nase gefallen, da zur y Achse parallele Strecken damit nicht eindeutig definiert werden können. Meine bisherigen Berechnungen erfolgen alle auf Basis von Vektorrechnung.

    @Anti
    Deine Lösung funktioniert in diesem Fall ganz gut, wie sieht es aber aus, wenn so etwas gegeben ist:
    [​IMG]
    ?

    @Suleiman
    So richtig steige ich bei Deinem Vorschlag nicht durch, falls Du Deine Berechnung aber auch auf diese Figur hier beziehen könntest, würde ich noch einmal versuchen, das zu verstehen. :wink:
     
  18. Trasher

    Trasher Forenlegende

    Beiträge:
    5.854
    Registriert seit:
    10. April 2002
    Am Ende läuft es wohl immer darauf hinaus, das Ding in Dreiecke zu zerlegen, was in einem konkreten Fall auch ganz einfach ist.
    [​IMG]

    Aber rein algorithmisch steig ich da nicht durch, vor allem, weil es mehrere Varianten der Dreiecksaufteilung gibt.
     
  19. antimagnet

    antimagnet Forenlegende

    Beiträge:
    9.726
    Registriert seit:
    10. April 2002
    also irgendwie müssen wir der kiste beibringen, was die roten flächen sind:

    [​IMG]


    ha! schurke!

    wenn man bei einem n-eck lediglich die koordinaten hat, ist die linienführung gar nicht immer klar!


    oder?

    :gruebel:
     
  20. antimagnet

    antimagnet Forenlegende

    Beiträge:
    9.726
    Registriert seit:
    10. April 2002
    so, die hellblauen dreiecke sind die roten dreiecke punktgespiegelt, an der mitte der hypotenuse.

    [​IMG]

    oder wir bringen der kiste bei, was die dunkelblauen rechtecke sind.

    aber irgendwie müssen wir der kiste sagen, was innen und was außen ist, und da reichen doch nur koordinaten nicht aus, oder?

    nachtrag:
    das sieht ja nicht wirklich einfacher aus. :lol: