作業互評
用7-Zip解壓縮
小心別用Adobe打開
挑出你認為最好的5張上傳




課堂作業二
網址:jsyeh/3dcg10/
glTranslatef(x,y,z);
glRotatef(角度,x,y,z);
glScalef(x,y,z);
調整旋轉方向和角度
看右手手指的旋轉方向




課堂作業三
#include <GL/glut.h>
void display()
{
glClearColor(1,1,0,1);
glClear(GL_COLOR_BUFFER_BIT);
glTranslatef(0, 0.1, 0);
glColor3f(1,0,0);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Hello 3D");
glutDisplayFunc(display);
///glutMouseFunc(mouse);
glutMainLoop();
}
課堂作業四
#include <GL/glut.h>
float nowX=0,nowY=0;
void mouse (int button,int state, int x, int y)
{
nowX =(x-150)/150.0; nowY=-(y-150)/150.0;
}
void display()
{
glClearColor(1,1,0,1);
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glTranslatef(nowX, nowY, 0);
glColor3f(1,0,0);
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Hello 3D");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMainLoop();
}

(可用滑鼠來移動)
課堂作業五
#include <GL/glut.h>
#include <stdio.h>
#include <math.h>
float nowX=0,nowY=0;
void mouse (int button,int state, int x, int y)
{
nowX =(x-150)/150.0; nowY=-(y-150)/150.0;
printf(" glTranslatef(%f,%f,0);\n",nowX, nowY);
}
void display()
{
glClearColor(1,1,0,1);
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glTranslatef(nowX, nowY, 0);
glColor3f(1,0,0);
///glutSolidTeapot(0.3);
glBegin(GL_POLYGON);
for(float angle=0;angle< 3.14159265358979*2;angle+=0.1)
{
glVertex2f(0.2*cos(angle),0.2*sin(angle));
}
glEnd();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Hello 3D");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMainLoop();
}
(用for 迴圈跑出圓形並印出座標位置)



沒有留言:
張貼留言