Verfasst am: 09.10.2012, 09:39
Titel: Schwerpunkt einer Fläche bestimmen
Hallo,
ich komme leider wieder ins stocken...
Über einen Tipp für mein kleines Problem würde ich mich daher sehr freuen!
Ich habe eine Punktwolke, die eine halbwegs eliptische Fläche beschreibt. Aus dieser Punktwolke möchte ich den Schwerpunkt bestimnmen. Die Verteilung der Punkte ist aber inhomogen.
Mit convhull, bestimme ich die außenliegenden Punkte, wie ich aus diesen Indizes auf einen Schwerpunkt der Fläche komme.
Darüber kann ich ein Polygon bilden.
Nur komme ich leider nicht auf den Schwerpunkt.
der Schwerpunkt eines Polygons lässt sich sehr einfach berechnen. Man addiere alle Ortsvektoren zu den Punkten und teile die Komponenten durch die Anzahl der Punkte.
Gibt es dazu noch weitere Voraussetzungen? Wenn ich mehrere Punkte konzentriert in einer Ecke habe, ist das Ergebnis ja ein anderes, als bei einer homogenen Verteilung, obwohl die Fläche gleich bleibt.
Zuletzt bearbeitet von Michel am 09.10.2012, 13:08, insgesamt einmal bearbeitet
Wenn du den "normalen" Schwerpunkt berechnen willst, gibt es keine weiteren Bedingungen. Der Schwerpunkt liegt dann eben da, wo der Schwerpunkt liegt. Diese Tautologie soll nur ausdrücken, dass die Lage natürlich systemabhängig ist. Eine Konzentration von Punkten in einem lokalen Bereich führt dann auch natürlich zu einer Verlagerung des Schwerpunktes in Richtung dieses Bereiches.
Abgesehen davon kann man Teilmengen der Punktwolke höher gewichten, wenn man eine inhomogene Verteilung zugrunde legen möchte. Ist das gewollt?
Ich habe mich leider etwas missverständlich ausgedrückt:
Die Punktwolke beschreibt eine Fläche. Von dieser (homogenen) Fläche möchte ich den Schwerpunkt wissen. Unabhängig davon wo eine hohe Konzentration an Punkten den Umriss der Fläche beschreibt. Daher auch die Umrandung über convexhull.
In Deiner Implementierung wird der Wert von "xs" in jeder Iteration überschrieben. Deshalb hat "xs" zum Schluss den Wert der letzten Iteration, also für "i == n".
Mit n lässt sich eine höhere Konzentration am Ende der Kurve erzeugen. Die Ergebnisse verwirren mich allerdings. Der Schwerpunkt liegt eindeutig bei [1,1]. Es kommt aber immer ein Wert um die [0,0] heraus. Ich sehe im Moment keinen Fehler in meinem Code.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.