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?

3d Punkte

Vinayan
quelle
Polynom 3. Grades, Excel?
FelixIP
Welche Art von Tools verwenden Sie oder haben Sie zur Verfügung? Matlab? Excel? R? Python?
Scott Newson
@ScottNewson - definitiv nicht Matlab.Ich bin offen für jede Programmiersprache.
Vinayan
Diese Frage / Antwort könnte Ihnen helfen, /programming/29208554/calculate-centerline-in-3d-structure
Matt

Antworten:

7

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:

Bilder aus erwähntem 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.

Hoffe das hilft! (Ziemlich interessantes Papier!)

Joseph
quelle
1
@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:

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 )

Farid Cheraghi
quelle
-1

EDIT: Nun, sieht so aus, als wäre es eine falsche Antwort, die Anpassungslinie ist gerade! =)

Mr. Che
quelle
Kannst du ein Beispiel geben?
nickves
Was meinst du? URLs sind in der Antwort.
Mr. Che
2
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 :)
Vinayan