week06
#include<GL/glut.h>
int N=0,vx[3000],vy[3000];
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //清空
glPushMatrix(); //備份矩陣
glRotatef(angle,0,0,1);//旋轉,對Z軸轉
glScalef(0.5,0.1,0.1);//調成細長的
glColor3f(0.3,0.3,1.0);//藍藍的
glutSolidCube(1);//方塊
glPopMatrix();//還原矩陣
glutSwapBuffers();//交換兩倍的buffers
}
void motion(int x, int y)
{
angle++;//只要mouse在motion時,就會增加角度
display();//增加後,重畫畫面
}
void keyboard(unsigned char key, int x, int y)
{
}
int main(int argc, char **argv)
{
glutInit(&argc, argv); //Glut初始化
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);//顯示模式
glutCreateWindow("08160084 week06");//開窗 //mouse motion 再拖動他
glutDisplayFunc(display); //等一下要顯示的函式
glutKeyboardFunc(keyboard); //按按鍵他就會轉動
glutMotionFunc(motion); //mouse motion在動喔!!!!!
glutMainLoop();
}
=================================================================
#include<GL/glut.h>
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清空
glPushMatrix();//備份矩陣
glRotatef(angle++,0,0,1);//要轉動angle
glColor3f(0.3,0.3,1.0);//藍藍的
glutSolidCube(1); //方塊
glPopMatrix();//還原矩陣
glutSwapBuffers();//交換兩倍的buffers
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);//Glut初始化
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);//顯示模式
glutCreateWindow("08160084 week06");
glutIdleFunc(display);///idle很閒的時候,就重畫面
glutDisplayFunc(display);
glutMainLoop();
}
#include<GL/glut.h>
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清空
glPushMatrix();///備份矩陣
///glTranslatef(0,0,0);(3)把正確轉動的手臂,掛在肩上
///glRotatef(angle++,0,0,1);///(2)轉動
glTranslatef(-0.25,0,0);///(1)將旋轉中心,放在正中心
glScalef(0.5,0.1,0.1);///細細長長的
glutSolidCube(1);///方塊
glPopMatrix();///還原矩陣
glutSwapBuffers();///交換兩倍的buffers
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);///Glut初始化
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
glutCreateWindow("08160084 week06");
glutIdleFunc(display);///idle很閒的時候,就重畫面
glutDisplayFunc(display);
glutMainLoop();
}
#include<GL/glut.h>
float angle=0;
void hand()
{
glPushMatrix();
glScalef(0.5,0.1,0.1);///細細長長的
glutSolidCube(1);///方塊
glPopMatrix();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清空
glPushMatrix();///備份矩陣
glTranslatef(-0.25,0,0);///(3)把正確轉動的手臂,掛在肩上
glRotatef(angle++,0,0,1);///(2)轉動
glTranslatef(-0.25,0,0);///(1)將旋轉中心,放在正中心
hand();
glPopMatrix();///還原矩陣
hand();
glutSwapBuffers();///交換兩倍的buffers
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);///Glut初始化
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
glutCreateWindow("08160084 week06");
glutIdleFunc(display);///idle很閒的時候,就重畫面
glutDisplayFunc(display);
glutMainLoop();
}
#include<GL/glut.h>
float angle=0;
void hand()
{
glPushMatrix();
glScalef(0.5,0.1,0.1);///細細長長的
glutSolidCube(1);///方塊
glPopMatrix();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清空
glPushMatrix();///備份矩陣
glTranslatef(-0.25,0,0);///(3)把正確轉動的手臂,掛在肩上
glRotatef(angle,0,0,1);///(2)轉動
glTranslatef(-0.25,0,0);///(1)將旋轉中心,放在正中心
hand();
glPushMatrix();///備份矩陣
glTranslatef(-0.25,0,0);///(3)把正確轉動的手臂,掛在肩上
glRotatef(angle,0,0,1);///(2)轉動
glTranslatef(-0.25,0,0);///(1)將旋轉中心,放在正中心
hand();
glPopMatrix();
glPopMatrix();///還原矩陣
glutSwapBuffers();///交換兩倍的buffers
angle++;
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);///Glut初始化
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
glutCreateWindow("08160084 week06");
glutIdleFunc(display);///idle很閒的時候,就重畫面
glutDisplayFunc(display);
glutMainLoop();
}
#include<GL/glut.h>
float angle=0;
void hand()
{
glPushMatrix();
glScalef(0.5,0.1,0.1);///細細長長的
glutSolidCube(1);///方塊
glPopMatrix();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清空
glPushMatrix();///備份矩陣
glTranslatef(-0.25,0,0);///(3)把正確轉動的手臂,掛在肩上
glRotatef(angle,0,0,1);///(2)轉動
glTranslatef(-0.25,0,0);///(1)將旋轉中心,放在正中心
hand();
glPushMatrix();///備份矩陣
glTranslatef(-0.25,0,0);///(3)把正確轉動的手臂,掛在肩上
glRotatef(angle,0,0,1);///(2)轉動
glTranslatef(-0.25,0,0);///(1)將旋轉中心,放在正中心
hand();
glPopMatrix();
glPopMatrix();///還原矩陣
*右手*
glPushMatrix();///備份矩陣
glTranslatef(+0.25,0,0);///(3)把正確轉動的手臂,掛在肩上
glRotatef(-angle,0,0,1);///(2)轉動
glTranslatef(+0.25,0,0);///(1)將旋轉中心,放在正中心
hand();
glPushMatrix();///備份矩陣
glTranslatef(+0.25,0,0);///(3)把正確轉動的手臂,掛在肩上
glRotatef(-angle,0,0,1);///(2)轉動
glTranslatef(+0.25,0,0);///(1)將旋轉中心,放在正中心
hand();
glPopMatrix();
glPopMatrix();///還原矩陣
glutSwapBuffers();///交換兩倍的buffers
angle++;
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);///Glut初始化
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
glutCreateWindow("08160084 week06");
glutIdleFunc(display);///idle很閒的時候,就重畫面
glutDisplayFunc(display);
glutMainLoop();
}
沒有留言:
張貼留言