ich will eine Kugel auf einer Ellipsenbahn rotieren lassen. Bis jetzt bin ich so vorgegangen:
Code:
glPushMatrix();
glscalef(1.5,1,1);
glRotatef(angle,0,1,0);
glTranslatef(1,0,0);
glScalef(2/3,1,1);
gluSphere(quadratic,0.5,40,40);
glPopMatrix();
d.h. erst die Matrix in die Breite gezogen und dann rotatet und translated. Das Problem ist, dass dann logischerweise auch meine Kugel nicht mehr rund sondern elliptisch ist. Dachte eigentlich, dass kann man ganz einfach mit einem rückgängig-Scale ändern. Leider ist das aber nicht der Fall, die Kugel wird jetzt an den "Rändern" der Rotationsellipse in Z-Richtung verzerrt..?
Was muss ich ändern damit sich meine Kugel ungescaled auf der Ellipse bewegt?
Danke + Grüße
Passi
Zuletzt geändert von Passi am Fr Sep 01, 2006 15:24, insgesamt 1-mal geändert.
Die Skalierung darf sich nur auf den Verschiebungs anteil auswirken. Am besten Die Position zu Fuß ausrechnen und mit einem glTranslatef setzten. (Sollte auch etwas schneller gehen, als komplette Matrizen hin und herzurechnen)
Mitglieder in diesem Forum: Google [Bot] und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.