Polygon - Mittelpunkt und Schwerepunkt?


  • Mod

    @zeropage sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Wenn es nur darum geht (ohne Graphentheorie und ohne Chinas Landfläche), und wenn die Eckpunkte 2D bzw 3D-Vektoren sind, bilde ich die Summe der Vektoren geteilt durch die Anzahl. Dann habe ich den Mittelpunkt.

    Aber das ist wahrscheinlich so einfach, das es wieder falsch ist 😉

    Es ist Unsinn. Das misst bloß, auf welcher Seite du mehr Eckpunkte hast. Sei es, weil auf der Seite mehr Ecken sind, oder weil deine Karte dort mehr Details hat.

    Du musst schon das Integral über alle Punkte des gesamten Objekts nehmen. Und das ist halt der Schwerpunkt.



  • @SeppJ sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Es ist Unsinn.

    Unsinn hin oder her, für konvexe Polygone hat es bisher gereicht. Wie hätte ich sonst Drehungen von Körpern um den Mittelpunkt realisieren können?



  • @TaucherOne sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    (Gebe es keine Gebirge usw., also den Ort, der bei einer Überschwemmung als letztes überspült würde...)
    ...
    ... der Ort, der zu jedem Punkt der südlichen Küste gleich weit entfernt ist.

    Das hat dann aber nichts mit dem Mittel- oder Schwerpunkt zu tun, sondern naiv würde ich dann sagen, ist es einfach der nördlichste Punkt Chinas (wenn man von einer gleichmäßigen Überschwemmung vom Süden her ausgeht).

    PS: Meinst du nur das Südchinesische Meer - oder die gesamte Küste, also auch Ostchinesische und Gelbe Meer (Karte v. China)?



  • @zeropage sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Wenn es nur darum geht (ohne Graphentheorie und ohne Chinas Landfläche), und wenn die Eckpunkte 2D bzw 3D-Vektoren sind, bilde ich die Summe der Vektoren geteilt durch die Anzahl. Dann habe ich den Mittelpunkt.

    Ein Gegenbeispiel:

    Betrachten wir mal das Polygon (0, 0), (1, 0), (1,1), (0, 1). Der Schwerpunkt liegt hier bei (0.5, 0.5). Der Mittelwert der Vektoren liegt ebenfalls bei (0.5, 0.5).

    Betrachten wir aber nun das Polygon (0, 0), (1, 0), (1,1), (0, 1), (0, 0), (0, 0), (0, 0). Der Schwerpunkt liegt unverändert bei (0.5, 0.5), wohingegen der Mittelwert der Vektoren bei (2/7, 2/7) liegt.


  • Mod

    @zeropage sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    @SeppJ sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Es ist Unsinn.

    Unsinn hin oder her, für konvexe Polygone hat es bisher gereicht. Wie hätte ich sonst Drehungen von Körpern um den Mittelpunkt realisieren können?

    Nein, das ist garantiert Unsinn, der nie funktioniert haben kann. Entweder erklärst du hier was falsch, oder du meinst regelmäßige Polygone, wo es zufällig doch aufgeht. Siehe das Beispiel von Quiche Loraine. Oder sag mir wo dein "Mittelpunkt" von Texas liegt (in Mexiko?).


  • Gesperrt

    @Th69 sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Das hat dann aber nichts mit dem Mittel- oder Schwerpunkt zu tun, sondern naiv würde ich dann sagen, ist es einfach der nördlichste Punkt Chinas

    Es gibt aber mehrere nördliche Punkte und die südliche Küste ist auch nicht "viereckig" sondern rund...

    Hintergrund 2: Wenn ich von diesem Ort zur Küste reisen möchte, möchte ich auswählen können, zu welcher Küste und die Fahrtkosten sollten gleich hoch sein. Jetzt ist es doch hoffentlich verständlicher.

    Sagen wir, China sei als (konvexes) 2D-Polygon gegeben und für die Küste kommen 250 von 1000 Polygonpunkte infrage, die ich möglicherweise bereisen möchte.


  • Mod

    Was willst du wirklich wissen? Ist das eine reale Frage, wo man reale Preisgestaltung von chinesischem Verkehrsmitteln wissen muss?

    Wie schon erklärt, gibt es keinen Punkt (außer dem Erdmittelpunkt), der von jedem Punkt der Küste gleich weit weg ist. Denk da bitte darüber nach, damit du endlich kapierst, warum das nicht geht! Dann kannst du vielleicht auch besser formulieren, was du wirklich wissen willst.



  • @SeppJ sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    @zeropage sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    @SeppJ sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Es ist Unsinn.

    Unsinn hin oder her, für konvexe Polygone hat es bisher gereicht. Wie hätte ich sonst Drehungen von Körpern um den Mittelpunkt realisieren können?

    Nein, das ist garantiert Unsinn, der nie funktioniert haben kann. Entweder erklärst du hier was falsch, oder du meinst regelmäßige Polygone, wo es zufällig doch aufgeht. Siehe das Beispiel von Quiche Loraine. Oder sag mir wo dein "Mittelpunkt" von Texas liegt (in Mexiko?).

    Ich denke das funktioniert durchaus für Dreiecksnetze, die @zeropage hier eventuell meint, wenn er von "Polygonen" spricht: Entweder man gewichtet die Vertex-Koordinaten mit der Dreiecksfläche, oder man hat ohnehin schon ein sehr gleichförmig trianguliertes Mesh, bei dem alle Dreiecke annähernd die gleiche Fläche
    haben.

    Effektiv ist das dann eine numerische Annäherung an das von @SeppJ erwähnte "Integral über alle Punkte des gesamten Objekts". Wenn man also eine hochwertige Triangulierung des Objekts hat, dann kann man das durchaus so berechnen, wie @zeropage vorgeschlagen hat und eine sinnvolle Approximation erhalten. Für lediglich die Eckpunkte beliebiger Polygone funktioniert das jedoch aus den genannten Gründen nicht.


  • Mod

    Das ist eine ganz schön großzügige Auslegung dessen, was zeropage gesagt hat. Aber ich habe ja auch selber vermutet, dass er etwas wesentliches weggelassen hat, wenn es angeblich doch funktioniert, was ich ihm ja auch glaube. Jedenfalls seien alle unbedarften Leser, die nach dem Schwerpunkt eines Polygons suchen, ausdrücklich gewarnt, dass das Mitteln der Eckpunkte grober Unsinn ist! Das kann nicht das funktionierende Verfahren von zeropage sein.

    Wobei das Verfahren mit dem Dreiecksnetz dann doch wieder unnötig umständlich und noch dazu ungenau ist. Man kann den Schwerpunkt eines beliebigen(!) Polygons schließlich analytisch direkt per Formel aus den Eckpunkten ablesen. Es ist halt bloß nicht ganz so einfach wie der Mittelwert.



  • @SeppJ sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Das ist eine ganz schön großzügige Auslegung dessen, was zeropage gesagt hat [...] Jedenfalls seien alle unbedarften Leser, die nach dem Schwerpunkt eines Polygons suchen, ausdrücklich gewarnt [...]

    Das war eher als diplomatischer Erklärungsansatz gemeint, warum das bei @zeropage bisher scheinbar* so funktioniert haben könnte. Ich unterstütze auch einen hohen Standard der Antworten hier 🙂

    * vielleicht auch wirklich nur scheinbar - ich kann mir gut vorstellen, dass das Mitteln für viele Polygone Ergebnisse liefert, die "irgendwie richtig aussehen", aber es nicht sind.



  • @Finnegan sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Entweder man gewichtet die Vertex-Koordinaten mit der Dreiecksfläche

    WIe funktioniert das?

    Ich stelle mir da z.B. das Achteck von https://de.wikipedia.org/wiki/Datei:Putnam-Achteck_1.svg vor. Wie gewichte ich den mittleren Punkt, welcher ja zu 8 Dreiecken gehört?

    Wie funktioniert überhaupt die Schwerpunktberechnung über eine Vermaschung?


  • Mod

    Um das nochmal zu betonen: Für jedes beliebige Polynom (konstanter Dichte) kann man einfach die Eckpunkte in eine Formel einsetzen, die man überall nachschlagen kann, wo es mathematische Formeln gibt. Da braucht man nix mit Dreiecksnetz. Wenn das Netz also ein Polynom beschreibt, kann man die ganzen Dreiecke weglassen und einfach nur alle außenliegenden Ecken in die Formel einsetzen. Dann kommt das gleiche Ergebnis raus.

    Was Finnegan hier mit der Gewichtung nach Dreieicksfläche meint, ist auch buchstäblich das "Gewicht" des Dreiecks. Da man konstante Dichte annimmt, ist die Fläche ja gleichzeitig das Gewicht. Man kann also den Beitrag eines Dreiecks zum Gesamtschwerpunkt eines Objekts aus vielen Dreiecken ermitteln, indem man die jeweiligen Schwerpunkte dieser Dreiecke mittelt, wobei halt jedes Dreieck mit seinem Gewicht (äquivalent seiner Fläche) beiträgt. Das funktioniert dann auch mit 3D-Körpern, oder mit verrückten Objekten mit Überschneidungen oder die nicht zusammenhängen, was ganz nützlich ist.



  • @Quiche-Lorraine sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    @zeropage sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Ein Gegenbeispiel:

    Betrachten wir mal das Polygon (0, 0), (1, 0), (1,1), (0, 1). Der Schwerpunkt liegt hier bei (0.5, 0.5). Der Mittelwert der Vektoren liegt ebenfalls bei (0.5, 0.5).

    Betrachten wir aber nun das Polygon (0, 0), (1, 0), (1,1), (0, 1), (0, 0), (0, 0), (0, 0). Der Schwerpunkt liegt unverändert bei (0.5, 0.5), wohingegen der Mittelwert der Vektoren bei (2/7, 2/7) liegt.

    Das stimmt, ja. Aber wenn man ein Rechteck zeichnen will, gibt man dem doch nicht noch zusätzliche Nullpunkte hinzu. Das Extreme wäre dann ein Polygon nur aus Nullpunkten. Ich kann mir jetzt in meinem beschaulichen Horizont keine Notwendigkeit dafür vorstellen.


  • Mod

    @zeropage sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Das stimmt, ja. Aber wenn man ein Rechteck zeichnen will, gibt man dem doch nicht noch zusätzliche Nullpunkte hinzu. Das Extreme wäre dann ein Polygon nur aus Nullpunkten. Ich kann mir jetzt in meinem beschaulichen Horizont keine Notwendigkeit dafür vorstellen.

    Aber das bringt dich nicht zum Nachdenken, was an deiner Methode falsch sein soll? Nimm ein Quadrat, das hat seinen Schwerpunkt wo du es intuitiv erwartest. Nun nimm das gleiche Quadrat und mach in einer Ecke viele kleine feine Zacken, aber im großen und ganzen immer noch ein Quadrat. Nach deiner Methode ist der Schwerpunkt nun auf einmal in der Ecke mit den Zacken. Verstehst du jetzt, was mit der Methode nicht stimmt?



  • @SeppJ sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Nach deiner Methode ist der Schwerpunkt nun auf einmal in der Ecke mit den Zacken. Verstehst du jetzt, was mit der Methode nicht stimmt?

    Ja, ok, dieses Beispiel habe ich verstanden. Aber es ist wie in einen Ameisenhaufen treten. Am besten einen großen Bogen drum machen. Aber besten sind immer die Vorwürfe, das man "lügt", wenn man nicht alle Einzelheiten des Gegenüber vorhergesehen hat.

    In meinem Asteroid Example funktioniert es sehr gut mit der Mittelpunktdrehung und es sind am Ende auch Polygone. Ich habe ein Bild und den Code geliefert. Ja, der ist wahrscheinlich so eh Scheiße, aber es ging doch.


  • Mod

    @zeropage sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    In meinem Asteroid Example funktioniert es sehr gut mit der Mittelpunktdrehung und es sind am Ende auch Polygone. Ich habe ein Bild und den Code geliefert. Ja, der ist wahrscheinlich so eh Scheiße, aber es ging doch.

    Bild? Code? Du hast nichts geliefert außer einer klar falschen Antwort.

    Und jetzt ist es plötzlich "Der Lüge bezichtigen", wenn man einen mathematischen Fehler aufzeigt? Wo kommst du denn her?



  • Nee, Du behauptest, das meine Behauptung, meine Mittelpunktrechnung funktioniert in meinen Fällen, sei gelogen.


  • Mod

    @zeropage sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Nee, Du behauptest, das meine Behauptung, meine Mittelpunktrechnung funktioniert in meinen Fällen, sei gelogen.

    Und das ist unverschämt!

    ???

    Ich habe sogar ausdrücklich betont, dass ich dir glaube, dass du wahrscheinlich irgendeinen komischen Sonderfall hast, wo es funktioniert!

    @SeppJ sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Das ist eine ganz schön großzügige Auslegung dessen, was zeropage gesagt hat. Aber ich habe ja auch selber vermutet, dass er etwas wesentliches weggelassen hat, wenn es angeblich doch funktioniert, was ich ihm ja auch glaube

    Aber ist halt ein komischer Sonderfall, den du verschweigst (regelmäßiges Polynom?), wo du nur Glück hast. Oder nicht genau genug misst, um zu merken, dass dein Ergebnis falsch ist.

    In der Mathematik nicht Lesen oder Verstehen zu wollen, weil man es nicht als Wahrheitsfindung sondern als irgendeinen komischen persönlichen Wettkampf sieht, das ist unverschämt! Eigentlich ist es was anderes, aber das sage ich mal lieber nicht laut.



  • @Quiche-Lorraine sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    @Finnegan sagte in Polygon - Mittelpunkt und Schwerepunkt?:

    Entweder man gewichtet die Vertex-Koordinaten mit der Dreiecksfläche

    WIe funktioniert das?

    Ich stelle mir da z.B. das Achteck von https://de.wikipedia.org/wiki/Datei:Putnam-Achteck_1.svg vor. Wie gewichte ich den mittleren Punkt, welcher ja zu 8 Dreiecken gehört?

    Wie funktioniert überhaupt die Schwerpunktberechnung über eine Vermaschung?

    Das hab ich tatsächlich etwas zu grob und unpräzise formuliert. Man nimmt nicht die Vertices des Mesh, sondern die geometrischen Schwerpunkte der Dreiecke, gewichtet mit deren Fläche.

    Der Algorithmus, den ich dabei im Hinterkopf hatte, sieht etwa so aus:

    mesh_centroid = [ 0, 0, 0 ]
    total_area = 0
    for (triangle : mesh)
    {
        // Fläche des Dreiecks (z.B. via Kreuzprodukt zweier Kantenvektoren des Dreiecks,     
        // das ja einen Vektor liefert, dessen Länge der Fläche des von den Vektoren 
        // aufgespannten Parallelogramms entspricht).
        triangle_area = area(triangle)
        // Schwerpunkt des Dreiecks, dieser lässt sich für ein Dreieck tatsächlich durch
        // Mitteln berechnen :-)
        triangle_centroid = (triangle.p0 + triangle.p1 + triangle.p2) / 3
        // Dreiecks-Schwerpunkte aufsummieren und mit Fläche gewichten
        mesh_centroid += triangle_centroid * triangle_area
        // Gesamtfläche mitführen
        total_area += triangle_area
    }
    // Statt durch die Anzahl der aufsummierten Vektoren, hier durch die Gesamtfläche
    // teilen, wodurch jeder Dreiecksschwerpunkt-Vektor im Verhältnis seiner Dreiecks-
    // fläche in das Endergebnis einfliesst. Ein Dreieck mit 25% der Gesamtfläche fliesst
    // also z.B. mit dem Faktor 0.25 in den resultierenden Schwerpunktvektor ein.
    mesh_centroid /= total_area 
    

    Dadurch ergibt sich das Problem mit dem hohen Rang des zentralen Vertex erst gar nicht, da jedes Dreieck nur einmal in das Ergebnis einfliesst.

    Edit: Achja, und wenn alle Dreiecke die gleiche Fläche haben, dann zerfällt das tatsächlich zu (p_0 + p_1 + ... p_n) / n, d.h. für eine gute Triangulierung erhält man selbst mit der falschen Methode eine "ziemlich richtiges" Ergebnis... aber eben nur unter ganz bestimmten Voraussetzungen 🙂



  • Dieser Beitrag wurde gelöscht!

Anmelden zum Antworten