#include <GL/glut.h>
#include <stdio.h>
int N=0,vx[3000],vy[3000]; ;
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotated(angle,0,0,1);
glScaled(0.5,0.1,0.1);
glColor3f(0.3,0.3,1);
glutSolidCube(1);
glPopMatrix();
glutSwapBuffers();
}
void mouse(int buttin,int state,int x,int y) //滑鼠點擊
{
angle++;
display();
}-
void motion (int x,int y)
{
printf("%d %d\n",x,y);
vx[N]=(x-150)/150.0;
vy[N]=-(y-150)/150.0;
N++;
display();
}
int main(int argc,char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("07160165");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMotionFunc(motion);
glutMainLoop();
}
#include <stdio.h>
int N=0,vx[3000],vy[3000]; ;
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotated(angle,0,0,1);
glScaled(0.5,0.1,0.1);
glColor3f(0.3,0.3,1);
glutSolidCube(1);
glPopMatrix();
glutSwapBuffers();
}
void mouse(int buttin,int state,int x,int y) //滑鼠點擊
{
angle++;
display();
}-
void motion (int x,int y)
{
printf("%d %d\n",x,y);
vx[N]=(x-150)/150.0;
vy[N]=-(y-150)/150.0;
N++;
display();
}
int main(int argc,char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("07160165");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMotionFunc(motion);
glutMainLoop();
}
--------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
int N=0,vx[3000],vy[3000]; ;
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotated(angle,0,0,1);
glScaled(0.5,0.1,0.1);
glColor3f(0.3,0.3,1);
glutSolidCube(1);
glPopMatrix();
glutSwapBuffers();
}
void motion (int x,int y) //滑鼠拖曳
{
angle++;
display();
}
int main(int argc,char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("07160165");
glutDisplayFunc(display);
glutMotionFunc(motion);
glutMainLoop();
}
---------------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotated(angle++,0,0,1); //當display執行時角度+1
glutSolidCube(1);
glPopMatrix();
glutSwapBuffers();
}
int main(int argc,char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("07160165");
glutIdleFunc(display); //不斷執行display
glutDisplayFunc(display);
glutMainLoop();
}
---------------------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(0,0,0); //初始旋轉中心
glRotated(angle++,0,0,1);
glTranslatef(-0.25,0,0); //方塊旋轉中心
glScaled(0.5,0.1,0.1); //改為長方形
glutSolidCube(1);
glPopMatrix();
glutSwapBuffers();
}
int main(int argc,char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("07160165");
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
}
--------------------------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
float angle=0;
void hand() //手臂
{
glPushMatrix();
glScaled(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); //初始旋轉中心
glRotated(angle++,0,0,1); //旋轉
glTranslatef(-0.25,0,0); //方塊旋轉中心
hand();
glPopMatrix();
hand();
glutSwapBuffers();
}
int main(int argc,char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("07160165");
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
}
--------------------------------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
float angle=0;
void hand()
{
glPushMatrix();
glScaled(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);
glRotated(angle++,0,0,1);
glTranslatef(-0.25,0,0);
hand(); //上手臂
glPushMatrix();
glTranslatef(-0.25,0,0);
glRotated(angle,0,0,1);
glTranslatef(-0.25,0,0);
hand(); //下手臂
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc,char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("07160165");
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
}
-------------------------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
float angle=0;
float angle1=0;
void hand()
{
glPushMatrix();
glScaled(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);
glRotated(angle++,0,0,1);
glTranslatef(-0.25,0,0);
hand();
glPushMatrix();
glTranslatef(-0.25,0,0);
glRotated(angle,0,0,1);
glTranslatef(-0.25,0,0);
hand();
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(+0.25,0,0);
glRotated(angle1--,0,0,1);
glTranslatef(+0.25,0,0);
hand();
glPushMatrix();
glTranslatef(+0.25,0,0);
glRotated(angle1,0,0,1);
glTranslatef(+0.25,0,0);
hand();
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc,char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("07160165");
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
}






沒有留言:
張貼留言