Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
Hallo Stefan, bitte noch zur Klarstellung der Aufgabe: Sei der input (* Beispiel *) p1 = {1, 0}; p2 = {3, 0}; p3 = {3, 1}; p4 = {2, 2}; p5 = {4, 2}; p6 = {3, 2.5}; p7 = {3, 3}; p8 = {1, 3}; p9 = {1, 2}; l1 = {p1, p2}; l2 = {p2, p3}; l3 = {p3, p4}; l4 = {p3, p5}; l5 = {p3, p6}; l6 = {p4, p6}; l7 = {p5, p6}; l8 = {p6, p7}; l9 = {p7, p8}; l10 = {p8, p1}; l11 = {p4, p9}; l13 = {p8, p9}; l12 = {p9, p1}; T1 = {l1, l2, l3, l4, l6, l7, l8, l9, l10}; T2 = {l1, l2, l3, l4, l6, l7, l8, l9, l11, l12, l13}; TChaos = {l8, l13, l6, l1, l11, l3, l7, l12, l4, l9, l2}; GraphicsArray[Show /@ {Graphics[Line /@ T1], Graphics[Line /@ T2], Graphics[Line /@ TChaos]}] mit Bildchen im Anhang. Die Datensätze TChaos und T2 ergeben natürlich dasselbe Bild, aber bei TChaos liegt noch weniger als bei T2 und T1 eine Darstellung der Ränder der umlaufenen (einfach zusammenhängenden) Gebiete vor. Im strengen Sinne "sortieren" kann man den Rand eines einfach zusammenhängenden (kompakten) Gebietes nicht, weil zum Sortieren eine Ordnungsrelation gebraucht wird, die Sie sich anscheinend als "Liniensegment x folgt auf Liniensegment y" vorstellen: da der Rand geschlossen ist, wäre jedes Liniensegment des Randes unter dieser Relation gleichzeitig grösser und kleiner als alle anderen. Das ist keine Ordnungsrelation. Man kann allerdings die Ränder der umlaufenen Gebiete orientieren. Ist dies der Gegenstand der Aufgabe? Im Falle T1 wäre dann die Lösung {{l1, l2, l3, l6, l8, l9, l10}, {l4, l7, Reverse[l6], Reverse[l3]}}, für T2 und TChaos gibt es 3 berandete kompakte Gebiete: {{l4, l7, Reverse[l6], Reverse[l3]}, {l1, l2, l3, l11, l12}, {l6, l8, l9, l13, Reverse[l11]}}. Wird nach einer Ortierung der Ränder der umlaufenen Gebiete gesucht? Mit den besten Grüssen Udo.
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 tausendenvon 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 Konturkreuzt eine andere Kontur, somit gibt es auch keine Liniensegmente die sichkreuzen können.Diese Liniensegmente unterliegen in diesem Datensatz keiner Ordnung. Diesemü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 angesetztwerden. 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}}
fuhrerContour.jpeg
Description: JPEG image
Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
DMUG-Archiv, http://www.mathematica.ch/archiv.html