-1
OpenGL - イベントキーボードで軸自体の周りを四面体を回転させる方法は?
if ((e != 0) && (e != 180)){
glTranslatef(0.4, 0, 0);
glRotatef(e, 0, 0,1);
glTranslatef(-0.4, 0, 0);
glRotatef(e, 0, 0, 1);
glTranslatef(0.4, 1, 0);
}else{
e = 0 ;
}
glBegin(GL_TRIANGLES);
//base left right
glColor3f(1, 0, 0);
glVertex3f(0.0f, 0.0f, 0.4*sqrt(3));
glVertex3f(-0.4f, -0.4*sqrt(3), 0.47);
glVertex3f(0.0f, -0.4*sqrt(3), 0.8*sqrt(3)-(0.14*sqrt(3)));
//base left right interna
glColor3f(0.0f, 0.0f, 1.0f);
glVertex3f(0.0f, 0.0f, 0.4*sqrt(3));
glVertex3f(0.0f, -0.4*sqrt(3), 0.8*sqrt(3)-(0.14*sqrt(3)));
glVertex3f(0.4f, -0.4*sqrt(3), 0.47);
//bottom
glColor3f(1.0f, 1.0f, 0.0f);
glVertex3f(0.4f, -0.4*sqrt(3), 0.47);
glVertex3f(0.0f, -0.4*sqrt(3), 0.8*sqrt(3)-(0.14*sqrt(3)));
glVertex3f(-0.4f, -0.4*sqrt(3), 0.47);
glEnd();
glPopMatrix();
}
以下の私のコードに従ってください、私は回転をするために、キー「E」とし、キーボードで入力されました。しかし回転は中心の周りを回転しません。 "e"キーを押すたびに "e"の値がe + 60ずつ増えます