MoinMoin und n frohes Neues =)
Ich hab ein kleines Problem, ich befasse mich zur Zeit mit der
Darstellung vom 3dimensionalen auf dem 2dimensionalen Bildschirm. Dazu
hatte ich auch schon ein paar andere Fragen, bei denen mir geholfen
wurde.
Nun aber ein rein "programiererisches" Problem. Um meine Körper zu
verschieben, habe ich eine Funktion geschrieben, die die einzelnen
Punkte des Körpers im Raum verschiebt. Nun habe ich eine übergeordnete
Funktion geschrieben um den Körper als ganzes zu verschieben. Dazu rufe
ich in einer for-Schleife einfach so oft die Punktverschiebung auf, wie
der Körper Punkte hat. Aber die Zählvariable springt direkt auf die
Abbruchbedingung.
1 | void Koerper_Translation(sVektor* pSchiebevektor, sKoerper* pKoerper)
|
2 | {
|
3 | uint32_t i = 0;
|
4 |
|
5 | for(i = 0; i < pKoerper->Punktzahl; i++);
|
6 | {
|
7 | Translation(pSchiebevektor, &pKoerper->Punkt[i]);
|
8 | }
|
9 | }
|
mehr ist das nicht. Wenn ich einfach in der main
1 | for(i = 0; i < pKoerper->Punktzahl; i++);
|
2 | {
|
3 | Translation(pSchiebevektor, &pKoerper.Punkt[i]);
|
4 | }
|
ausführe, klappt es. Über die Koerper_Translation siehts so aus:
Er springt in die Funktion, i wird erzeugt und auf 0 gesetzt. Dann
springt er in die Schleife und i ist direkt 8. (Mein Kubus besteht aus 8
Punkten).
Optimierungen sind aus, ich arbeite mit CodeBlocks(GCC)
MfG Chaos