Hallo Peter,
Ich versuche es besser zu beschreiben.
Der Datensatz besteht aus vielen tausenden Liniensegmenten, welche ich aus
vorhergehenden Berechnungen erhalte (Ein 3D Körper, bestehend aus tausenden
von Triangel wird mittels einer Ebene geschnitten. Die Liniensegmente von
diesem Schnitt sind in diesem Datensatz enthalten). Diese Liniensegmente
beschreiben eine Kontur auf einer Ebene. Diese Kontur ist in sich
geschlossen, kann aber weitere Konturen in sich enthalten. Keine Kontur
kreuzt eine andere Kontur, somit gibt es auch keine Liniensegmente die sich
kreuzen können.
Diese Liniensegmente unterliegen in diesem Datensatz keiner Ordnung. Diese
müssen jedoch zu einem Pfad geordnet werden, so das von einem beliebigen
Startpunkt aus gestartet werden kann und am Schluss wieder den Startpunkt
erreicht wird. Dabei meine ich mit der Zuwachsrichtung folgendes: Das
Liniensegment darf nur jeweils auf einer Seite der letzen Linie angesetzt
werden. Wenn (x) der Startpunkt ist, (>) zeigt die Zuwachsrichtung und (-)
ist ein Liniensegment dann sähe das etwa so aus:
X------------>---------|
| |
-------------<---------|
Im sortierten Datensatz sehen die einzelnen Liniensegmente so aus:
Liniensegment 1 = {{P1x,P1y},{P2x,P2y}}
Liniensegment 2 = {{P2x,P2y},{P3x,P3y}}
Liniensegment 3 = {{P3x,P3y},{P4x,P4y}}
Liniensegment 4 = {{P4x,P4y},{P5x,P5y}}