OpenGL - ruch po okręgu

0

Witam. Staram się zrobić coś na wzór palca, tylko nie potrafię sobie poradzić ze środkową częścią palca(kostka 2) tak aby ruszała się względem 'staw 2'.
p5 = wartość odczytywana z suwaka
Proszę o pomoc.

//
            //staw 1
            //
            GL.glPushMatrix();
            GL.glTranslatef(0f, 0f, 0f);
            GL.glutWireSphere(0.2d, 15, 15);
            GL.glPopMatrix();

            //
            //kostka 1
            //
            GL.glPushMatrix();
            GL.glRotatef(p5, p5, 0f, 0f);
            GL.glTranslatef(0f, 0.4f, 0f);
            GL.glutWireCube(0.4d);
            GL.glPopMatrix();

            //
            //staw 2
            //
            GL.glPushMatrix();
            GL.glRotatef(p5, p5, 0f, 0f);
            GL.glTranslatef(0f, 0.8f, 0f);
            GL.glutWireSphere(0.2d, 15, 15);
            GL.glPopMatrix();

           //
            //kostka 2
            //
            GL.glPushMatrix();
            GL.glRotatef(p5, p5, 0f, 0f);
            GL.glTranslatef(0f, 1.2f, 0f);
            GL.glRotatef(2*p5, p5, 0f, 0f);
            GL.glutWireCube(0.4d);
            GL.glPopMatrix(); 
0

Nie wiem czy dobrze rozumiem, ale czy nie wystarczy zrobić zagnieżdżenie na glpushmatrix i glpopmatrix?

// staw
glpushmatrix  
{ 
   transform
   draw_staw

   // kostka
   glpushmatrix
   transform
   draw_kostka
   glpopmatrix
 }
glpopmatrix

1 użytkowników online, w tym zalogowanych: 0, gości: 1