Ich braüchte nochmal Hilfe
Also. Ich habe es jetzt geschafft für jedes einzelne Element (besteht ja aus mehreren Vierecken usw) die entsprechenden Koordinaten zuzuordnen
So hat jetzt zB das linke ober Viereck folgendes Array
PHP-Code:
koordinaten[[10,40,10],[10,40,50]];
Erkärung:
Das Array koordinaten enthält ebenfalls ein Array welches die Linienpunkte beinhaltet.
Also wäre von diesem Viereck die erste Linie
X StartPunkt koordinaten[0][0];
X EndPunkt koordinaten[0][1];
Y Punkt koordinaten[0][2];
Und die zweite Linie
X StartPunkt koordinaten[1][0];
X EndPunkt koordinaten[1][1];
Y Punkt koordinaten[1][2];
und könnte mit
PHP-Code:
linieoben.moveTo(koordinaten[0][0],koordinaten[0][2]);
linieoben.lineTo(koordinaten[0][1],koordinaten[0][2]);
linieunten.moveTo(koordinaten[1][0],koordinaten[1][2]);
linieunten.lineTo(koordinaten[1][1],koordinaten[1][2]);
nachgezeichnet werden sodass ich nun die oberste und die unterste Linie sehen würde.
Um das Viereck aber richtig nachzuzeichnen sollte folgendes Kostrukt rauskommen
PHP-Code:
viereck.moveTo(koordinaten[0][0],koordinaten[0][2]);
viereck.lineTo(koordinaten[0][1],koordinaten[0][2]);
viereck.lineTo(koordinaten[1][1],koordinaten[0][2]);
viereck.lineTo(koordinaten[1][0],koordinaten[0][2]);
viereck.lineTo(koordinaten[0][0],koordinaten[0][2]);
Also bin ich hergegangen und habe (zumindest versucht)mir diese Arrays in zwei forschleifen so zusammengefasst dass, ich nur ein Array erhalte welches in etwas so aussieht
dots[[10,10],[40,10],[40,50],[10,50],[10,10]];
Somit funktioniert das ganze solange es nur Vierecke sind ganz gut.
Aber jetzt kommts.
Ich bekomme es bei komplexeren Dingen oder gedrehten Vierecken nicht geregelt.
(Siehe Bild)
Von links nach rechts gesehen ist der erste Punkt der X Startpunkt und er zweite der X Endpunkt.
Es können auch mehrere Linien auf der selben Y Zeile nebeneinander sitzen. Also mehrere Start und Endpunkte.
Die roten Punkte sind also die Koordinaten und die Linien sollen zeigen in welcher Reihenfolge ich die gern gespiechert hätte.
Wie könnte ich das lösen?