Forum » Programiranje » opengl - rotacija dveh objektov
opengl - rotacija dveh objektov
bbspin ::
rad bi rotiral dva objekta tako da bi zgledalo kot da obstaja le en objekt... v spodnjem primeru sem premaknil
center rotacije v manjsem kvadratu tako da naj bi bil enak centru rotacije velikega kvadrata... skoraj deluje toda
ne tako kot bi si zelele...
center rotacije v manjsem kvadratu tako da naj bi bil enak centru rotacije velikega kvadrata... skoraj deluje toda
ne tako kot bi si zelele...
glPushMatrix(); glTranslatef(300, 250, 0); glScalef(400, 300, 1); glRotatef(0, 1, 0, 0); glRotatef(0, 0, 1, 0); glRotatef(rz, 0, 0, 1); glBegin(GL_QUADS); glColor4f(0.0f, 0.0f, 1.0f, 1); glVertex3f(-0.5, 0.5, 0); glVertex3f(-0.5, -0.5, 0); glVertex3f(0.5, -0.5, 0); glVertex3f(0.5, 0.5, 0); glEnd(); glPopMatrix(); glPushMatrix(); glTranslatef(200, 200, 0); glScalef(200, 200, 1); glTranslatef(0.5, 0.25, 0); glRotatef(0, 1, 0, 0); glRotatef(0, 0, 1, 0); glRotatef(rz, 0, 0, 1); glTranslatef(-0.5,-0.25,0); glBegin(GL_QUADS); glColor4f(0.8f, 0.0f, 0.0f, 1); glVertex3f(-0.5, 0.5, 0); glVertex3f(-0.5, -0.5, 0); glVertex3f(0.5, -0.5, 0); glVertex3f(0.5, 0.5, 0); glEnd(); glPopMatrix(); rz += 0.1;
bbspin ::
sm spremenu vrstni red transformacij tkole:
zdej mi dela, ceprou se zmer ne razumm zakaj je bil prej problem...
glTranslatef(200, 200, 0); glTranslatef(100, 50, 0); glRotatef(0, 1, 0, 0); glRotatef(0, 0, 1, 0); glRotatef(rz, 0, 0, 1); glTranslatef(-100,-50,0) glScalef(200, 200, 1);
zdej mi dela, ceprou se zmer ne razumm zakaj je bil prej problem...
Binji ::
Vrsti red transformacij je ponavadi kar pomemben. Če stvar najprej rotiraš, potem pa premakneš je drugače kot če najprej premakneš in potem rotiraš. Pri rotaciji namreč zarotiraš tudi koordinatni sistem. Vsaj pri GDI+ je tako.
Kdor ne navija ni Slovenc, hej, hej, hej!
bbspin ::
ja moja napaka je bila ocitno ker sem mislil, da je rotacija,skaliranje,translacija isto kot skaliranje,rotacija,translacija ... v mojem primeru pa sem zelel rotirati drug objekt okoli centra prvega...
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | tekstura [c++ opengl]Oddelek: Programiranje | 911 (696) | matej94 |
» | [c++]OpenGL izris kvadrataOddelek: Programiranje | 1270 (1130) | Mavrik |
» | C++ programirane v Open GL oz. Direct xOddelek: Programiranje | 2976 (2247) | Vesoljc |
» | OpenGL problemOddelek: Programiranje | 2483 (2049) | Gundolf |
» | rotacijaOddelek: Programiranje | 1077 (920) | DarkWIng |