2016年3月14日 星期一

week04 汪柏超


 作業票選 <3



作業01


用滑鼠方法 直接印出座標
開CODE:BLOCKS新增一個GLUT
打上程式

#include <GL/glut.h> #include <stdio.h> void mouse(int button, int state, int x, int y) { if(state==GLUT_DOWN) printf(" glVertex2f( (%d-150)/150.0, (%d-150)/150.0 ); \n ", x, y); } void display() { glBegin(GL_POLYGON); glColor3f(1,1,0); glVertex2f(0.5,0.5); glVertex2f(0.5,-0.5); glVertex2f(0,0); glEnd(); glutSwapBuffers(); } int main(int argc, char**argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH); glutCreateWindow("hello 3D"); glutDisplayFunc(display); glutMouseFunc(mouse); glutMainLoop(); }


作業02
















開CODE:BLOCKS新增一個GLUT
打上程式

#include <GL/glut.h>
#include <stdio.h> #include <math.h> *運用到三角函式 void mouse(int button, int state, int x, int y) { if(state==GLUT_DOWN) printf(" glVertex2f( (%d-150)/150.0, (%d-150)/150.0 ); \n ", x, y); } void display() { glClearColor(150/255.0,172/255.0,55/255.0,1); glClear(GL_COLOR_BUFFER_BIT); glColor3ub(175,193,81); glPushMatrix(); glBegin(GL_POLYGON); for(float angle=0; angle<3.14159265357989 *2; angle+= 0.1) { glVertex2f(0.2*cos(angle), 0.2*sin(angle) ); } glEnd(); glPopMatrix(); glPushMatrix(); glTranslatef(0,0.5,0); glBegin(GL_POLYGON); for(float angle=0; angle<3.14159265357989 *2; angle+= 0.1) { glVertex2f(0.2*cos(angle), 0.2*sin(angle) ); } glEnd(); glPopMatrix(); glPushMatrix(); glTranslatef(-0.5,0,0); glBegin(GL_POLYGON); for(float angle=0; angle<3.14159265357989 *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(); }

沒有留言:

張貼留言