005
22.07.2004, 11:22 Uhr
BuraTino
|
Was haltet Ihr von meiner Lösung:
Wichtig ist ja nur zu wissen ob der erste Eintrag in der Liste ein "Nachfolger" ist. Beginnen wir also mit in der Originalliste mit Meier, dann muss er auch irgendwo in der Suchliste sein. Wenn ja, dann schaue ich ob der "Vorgänger von Meier" hier "Schuster auch der Vorgänger in der Vergleichliste ist. Dies mache ich solange bis díe "Vorgänger" nicht mehr über einstimmen. Damit habe ich meinen Startpunkt gefunden und gehe nun wieder vorwärts in beiden Listen.
@typecast:
Mal die Mal zwei Polygone. Beide Polygone haben mindestens zwei übereinstimmende Punkte. Mach lieber mal 3-4. Da die Punkte im Uhrzeigersinn abfolgen muss eines der beiden beider Suche nach gleichen Punkten gegen den Uhrzeigersinn durchlaufen werden.
BSP: Poly1: P1(1,1) - P2 (2,5) - P3 (4,4) -P4 (7,3) - P5(8,2) - P6(5,0) -P7(3,1) - "P1" Poly 2:P1(8,2) - P2(7,3) - P3 (4,4) - P4 (3,7) - P5(5,9) - P6(7,6) - P7(10,4) - P8(9,3) - "P1"
So nun suche ích alle Punkte des Poly1 durch P1.3 wird der erste gefunden. Nun muss ich Schauen ob der Nachfolger von P1.3 (P1.4) auch im Poly2 enthalten ist. Da ich hier andersrum laufen muss, finde ich Punkt P2.2. -> also Ok. Solange bis der NAchfolger der Poly1 Punkte nicht mehr mit den Vorgängern des Poly2 übereinstimmt.
Für eure Mühe trotzdem Danke! |