Zu blöd um die Richtige schleife zu bauen.
-
Hallo,
ich schildere euch erstmal mein Problem.
Ich habe einen Würfel, welcher mit n Anzahl Fischen gefüllt ist. Jeder Fisch hat Koordinaten. X, Y und Z Koordinaten. Das ganze ist in Form eines Arrays gespeichert.
Double positionen [anzahlFische][3];
Jetzt will ich mithilfe von Schleifen größere Würfel bauen, welche aus dem kleinen Würfel bestehen und Fische in den Gleichen Positionen beinhalten. Man soll angeben können, wie viel lagen der Würfel haben soll.
Mein Problem ist jetzt, ich bekomme keine For schleife oder sonst was hin, das mir den großen Würfel geeignet auffüllt.
Ich weiß wie die Anzahl fische zunimmt. Im Prinzip Anzahlfische=Anzahlfische*KantenlängeWürfel^3
Im ersten durchgang *1, dann mal 27, dann mal 125 usw. Ich will keine 2x2 Würfel, sondern im Prinzip immer eine Schicht drumherum. Da mir drumherum ein wenig umständlich erscheint, hab ich mir gedacht, ich nehme den alten würfel als Eckwürfel, so das ich x,y und z Koordinaten nur mal *1,*2 und *3 nehmen müsste.
Ich weiß leider nicht, wie ich das Ganze am besten angehe. Ich habe mir gedacht, ich fülle zuerst einmal die X Werte auf. Die Koordinaten ändern sich ja leider auch. Die Größe des Würfels würde man am Anfang eingeben.
Dann müsste man im Prinzip Kantenlänge*Kantenlänge Positionen mit den einfachen x-Werten füttern, dann Katenlänge*Kantelänge Positionen mit den x-Werten +Wüfelgröße und zuletzt Kantenlänge*Kantenlänge mit x+2*Würfelgröße für einen 3x3 Würfel. Dann hätten alle 27 Würfel die X-Werte. Dann könnte man die Y-Werte füllen, diesmal immer nur für Kantelänge Würfel, wir haben ja 111,112,113,121,122,123,131,132,133 etc.
Aber irgendwie bekomme ich dafür keine Gescheite Schleife auf die Reihe. Ich weiß nicht einmal wie ich das ganze am besten angehen könnte.
Kann mir jemand weiterhelfen vllt?
-
Das ist ja sehr schön erklärt, aber ich habe keine Ahnung, was genau dein Problem ist. So genau, wie du alles erklärst, kannst du das doch fast 1:1 in Code umsetzen. Wo hast du Schwierigkeiten? Probleme mit der Syntax? Probleme mit dem Algorithmus? Probleme anderswo? Zeig mal Code und erläutere, was genau du nicht weißt.
-
Hallo,
ich habe noch gar keinen Code. Ich lese das ganze aus einer Datei ein
double pos[size][3]; posFileStream.read((char*) &pos, sizeof(double)*size*3); //reads all positions at current timestepUnd will das ganze jetzt in ein positionen überführen
position=new double*[size]; for (int i=0; i<anzahlfische; i++) position[i]=new double[3];Anzahlfische passe ich vorher an, das ist kein Problem. Ich bin jetzt aber einfach zu blöd um eine Schleife, Algorithmus etc. zu schreiben, welcher die Positionen für den Würfel baut. Ich komme einfach nicht drauf wie ich das ganze am besten mache. Ich zerbreche mir seit 2 Tagen den Kopf wie ich schleifen anordnen könnte um das ganze zu basteln, aber ich blick es nicht.
Ich brauch Hilfe damit ich weiß wie ich den Algorithmus zum bauen des größeren Würfels inklusive Koordinaten angehen muss. Wie ich ihn Coden kann. Bzw. erstmal eine möglichkeit wie man den Algo am besten aufbaut.
Gruß