Ich habe eine Reihe von 3D-Punkten (die ich aus einer Bibliothek wiederherstelle, die die Tessellation eines Festkörpers ausführt), die zu einer Kurve (dh einer Kante des Festkörpers) gehören. Das bedeutet, dass die Kurve sicher an jedem dieser Punkte vorbeiführt.
Trotzdem ist die Punktmenge ungeordnet, so dass ich sie sortieren muss, um diese Kurve korrekt zeichnen zu können.
Gibt es einen bekannten Ansatz für diese Art von Problem?
Einige zusätzliche Informationen:
- Die Kurven sind im Allgemeinen parametrisch (Splines / Bezier, Kreisscheiben ..).
- Die Punkte werden als Gleitkommakoordinaten angegeben.
- Die Punkte sind sehr dicht gepackt (aber sie können so dicht sein, wie ich es möchte). Um Ihnen eine Vorstellung zu geben, zitiere ich für eine Kurve, die 19 Einheiten in x, 10 Einheiten in x und 5 Einheiten in z einnimmt, eine Folge von Punkten in einem Kurvensegment: (20.7622, 25.8676, 0) (20.6573, 25.856, 0) (20,5529, 25,8444, 0) (20,4489, 25,8329, 0) (20,3454, 25,8213, 0)
Antworten:
Sie haben ein Problem, das als Kurvenrekonstruktion aus nicht organisierten Punkten bezeichnet wird . Jetzt, da Sie wissen, wonach Sie suchen müssen, finden Sie verschiedene Methoden, wie z. B. die Kruste, die NN-Kruste usw. Hier einige Links:
Das Applet zur Rekonstruktion der Krustenkurve
Kurvenrekonstruktion von Tamal Dey
Kurven- und Oberflächenrekonstruktion: Algorithmen mit mathematischer Analyse , Buch von Tamal K. Dey, Cambridge University Press, 2006
Da es sich um Kurven handelt und die Stichproben dicht sind, empfehle ich Ihnen, einen euklidischen minimalen Spannbaum zu berechnen.
quelle
Nach einigen Klarstellungen gibt es wahrscheinlich einen viel besseren Ansatz, bei dem nicht einmal die parametrische Form der Kurve bekannt sein muss und der möglicherweise problematische numerische Minimierungsschritt vermieden wird.
Wenn sich die Kurve nicht schneidet und die Punkte auf der Kurve ausreichend dicht gepackt sind (und damit meine ich, dass sie näher sein müssen als zwei beliebige Punkte auf der Kurve, die nicht zum selben Segment gehören, z. B. durch die Kurvenumhüllung um sich selbst herum), dann können Sie leicht den vorherigen und nächsten Punkt zu jeder Probe bestimmen:
quelle
quelle