Ermitteln der Mittellinie aus einer Reihe von 3D-Punkten
21
Ich habe eine Reihe von 3D-Punkten. Sie folgen einem gekrümmten Muster mit einem ziemlich konstanten Durchmesser, wie unten gezeigt. Was wäre der Algorithmus, um die ungefähre Mittellinie dieser Punkte zu verfolgen?
Es gibt eine Arbeit mit dem Titel "Curved Reconstruction from Unorganized Points" von In-Kwon Lee, die sich mit der Konstruktion von Linien / Kurven aus einer Menge von Punkten ohne Ordnung befasst, indem die Methode der bewegten kleinsten Quadrate verwendet wird. Obwohl es sich auf 2D-Anwendungen konzentriert, wird die Möglichkeit erwähnt, dies auf höhere Dimensionen auszudehnen. Das folgende Bild stammt aus dem Papier:
In Kapitel 4 - 3D-Erweiterung wird beschrieben, wie die Methode nicht direkt auf drei Dimensionen angewendet werden kann. Es ist jedoch möglich, eine quadratische 3D-Regressionskurve wie folgt zu berechnen:
Gruppieren benachbarter Punkte nach der Methode der kleinsten Quadrate
Berechnung einer Regressionsebene K : z = A x + B y + C durch Minimierung eines Quadrats
Projizieren dieser benachbarten Punkte auf Ebene K und Lösen des Problems der bewegten kleinsten Quadrate in 2D.
@whuber - Danke fürs Überprüfen. Ich habe meinen Beitrag bearbeitet, weil ich zufällig einen Artikel gefunden habe, der eine mögliche Methode beschreibt.
Joseph
2
Nizza zu finden! Der EMST ist eine gute Wahl, um eine Lösung zu finden. (+1) Das Verfahren in diesem Papier könnte durch robuste Glättungsmethoden wie Löss oder verschiedene Formen von bestraften Spline-Passungen verbessert werden.
whuber
3
Diese Frage wurde bereits beantwortet. Hier ist die gleiche Frage:
Wenn Sie nach gebrauchsfertigen Tools und Codes suchen, gibt es viele numerische Methoden, um dieses Problem zu lösen, wie zum Beispiel den gierigen Ansatz, der in R-Paketen implementiert ist und von GAM heruntergeladen werden kann .
Wenn Sie nach reinen Algorithmen suchen, um sie selbst zu implementieren, empfehle ich Ihnen, sie in der Mathe-Community nachzufragen ( http://math.stackexchange.com ).
Ich hasse es, Antworten abzustimmen, weil ich die Mühe und den guten Willen, die sie widerspiegeln, immer schätze, aber ich bin genervt festzustellen, dass - nachdem ich mir alle drei Referenzen angesehen habe - nicht eine von ihnen die Frage tatsächlich beantwortet. Sie tanzen um einfache Variationen davon, wie das Anpassen einer geraden Linie oder eines Ellipsoids an die Punkte.
whuber
2
Ich verbrachte bereits einen Tag auf dem ersten Link in der Hoffnung, es könnte nützlich sein :)
Antworten:
Es gibt eine Arbeit mit dem Titel "Curved Reconstruction from Unorganized Points" von In-Kwon Lee, die sich mit der Konstruktion von Linien / Kurven aus einer Menge von Punkten ohne Ordnung befasst, indem die Methode der bewegten kleinsten Quadrate verwendet wird. Obwohl es sich auf 2D-Anwendungen konzentriert, wird die Möglichkeit erwähnt, dies auf höhere Dimensionen auszudehnen. Das folgende Bild stammt aus dem Papier:
In Kapitel 4 - 3D-Erweiterung wird beschrieben, wie die Methode nicht direkt auf drei Dimensionen angewendet werden kann. Es ist jedoch möglich, eine quadratische 3D-Regressionskurve wie folgt zu berechnen:
Hoffe das hilft! (Ziemlich interessantes Papier!)
quelle
Diese Frage wurde bereits beantwortet. Hier ist die gleiche Frage:
Kurvenanpassung-3D-Datensatz
Wenn Sie nach gebrauchsfertigen Tools und Codes suchen, gibt es viele numerische Methoden, um dieses Problem zu lösen, wie zum Beispiel den gierigen Ansatz, der in R-Paketen implementiert ist und von GAM heruntergeladen werden kann .
Wenn Sie nach reinen Algorithmen suchen, um sie selbst zu implementieren, empfehle ich Ihnen, sie in der Mathe-Community nachzufragen ( http://math.stackexchange.com ).
Außerdem ist diese Wiki-Seite mit Ihrer Frage verbunden ( http://de.wikipedia.org/wiki/Curve_fitting )
quelle
EDIT: Nun, sieht so aus, als wäre es eine falsche Antwort, die Anpassungslinie ist gerade! =)
quelle