做TRT的方法:先去把模型移置到中心點,然後TRT中的T就是那個數值。
讓自己可以用方向鍵控制模組(需要事先宣告模組ID):
void special(int key, int x, int y)
{
if(key==GLUT_KEY_UP) nowID--;
if(key==GLUT_KEY_DOWN) nowID++;
if(nowID<0) nowID=0;
if(nowID>29) nowID=29;
}
讓小黑窗上面顯示現在的座標位置:
oid motion(int x, int y)
{
if(mode==1){///translate
posX[nowID]+=(x-oldX)/300.0;
posY[nowID]-=(y-oldY)/300.0;
printf("glTranslatef(%.2f, %.2f, %.2f);\n", posX[nowID], posY[nowID], 0);
}else if(mode==2){
angleX[nowID]+= x-oldX;
angleY[nowID]+= y-oldY;
printf("angleX:%.0f, angleY:%.0f\n", angleX[nowID], angleY[nowID]);
}
oldX=x; oldY=y;
glutPostRedisplay();
}
顯示中心點:
void showAxis()
{
glutSolidSphere(0.02, 10,10);
glColor3f(1,0,0);
glBegin(GL_LINES);
glVertex3f(0,0,0); glVertex3f( 0.5, 0,0);
glVertex3f(0,0,0); glVertex3f(-0.5, 0,0);
glVertex3f(0,0,0); glVertex3f(0, 0.5, 0);
glVertex3f(0,0,0); glVertex3f(0,-0.5, 0);
glVertex3f(0,0,0); glVertex3f(0,0, 0.5);
glVertex3f(0,0,0); glVertex3f(0,0,-0.5);
glEnd();
glColor3f(1,1,1);
}
沒有留言:
張貼留言