Opengl - obrót i uzyskanie odległości

0
  1. Mam problem z rotate. Gdy używam go z translate tozamiast obracać się wokół osi obiektu obraca się wokół osi głównej. Oto kod:
    [code]void CMove::DrawTank(){
    glPushMatrix();
    glRotatef(angleT, 0.0f, 0.0f, 1.0f);
    glTranslatef(0.0f, towardT, 0.0f);
    glBegin(GL_QUADS);
    glColor3f( 1.0f, 0.0f, 0.0f );
    glVertex2f(-0.03, -0.05f );
    glVertex2f( 0.03, -0.05f);
    glVertex2f( 0.03, 0.05f );
    glVertex2f( -0.03, 0.05f );
    glEnd();
    glPopMatrix();
    TMove();
    }

void CMove::TMove(){
if(key['W']==true){
speed += 0.00001;
}
if(key['S']==true){
speed -= 0.00001;
}
if(key['A']==true) angleT+=1;
if(key['D']==true) angleT-=1;

towardT += speed;
}[/code]

  1. Jak odczytać położenie jakiegoś obiektu mając podany kąt w jakim jest odwrócony i długość o jaką się poruszył? ( na podstawie kodu wyżej )
0

Witam,

Co do punktu pierwszego, to pamietaj ze znaczenie ma w jakiej kolejnosci wykonujesz poszczegolne ruchy - sprobuj napierw wpisac translate a potem rotate. Sam dopiero zaczynam przygode z OpenGL, wiec na ta chwile nie wiem czy to podziala...

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