Week 03
Week03-1-1
Step 1:先到 葉正聖老師的3D圖學網頁
Step 3:將 data.zip 及 windows.zip 解壓縮 並將 data資料夾放入windows資料夾中,如下圖
Step 4:請確認data打開後如下圖
Step 5:點選 Transformation.exe 並顯示如下圖,完成!
Week 03-2-1
Step 1:先 import GLUT project
Step 2:將程式碼刪除後,貼上 上周的程式碼
程式碼:
#include<GL/glut.h>
void display()
{
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc,char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}
完成後如下圖:
Step 3:開啟github
Step 4:點選 Add file - Create new file
Step 5:複製上程式碼:
Step 6:將檔案標題加上副檔名:.cpp
Step 7:按preview 可加上附檔名後,程式碼顏色的差異
(PS:沒加上副檔名,就只是純文字檔而已)
Week03-2-2
Step 1:打開CodeBlock
Step 2:開啟GLUT project
Step 3:將下列程式碼複製到CodeBlock中,完成!
程式碼:
#include<GL/glut.h>
float X=0,Y=0,Z=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glPushMatrix();
glTranslatef(X,Y,Z);
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
}
void mouse(int button,int state,int x,int y)
{
X = (x-150)/150.0;
y = (y-150)/150.0;
}
int main(int argc,char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}
Week03-3
Step 1:打開CodeBlock
Step 2:import GLUT project
Step 3:將下列程式碼複製到CodeBlock中
程式碼:
#include<GL/glut.h>
#include<stdio.h>
float X=0,Y=0,Z=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(X,Y,Z);
glPopMatrix();
glutSwapBuffers();
glBegin(GL_POLYGON);
glEnd();
}
void mouse(int button,int state,int x,int y)
{
X = (x-150)/150.0;
y = -(y-150)/150.0;
if(state==GLUT_DOWN) printf(" glVertex2f(%.2f,%.2f);\n",X,Y);
}
int main(int argc,char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week03");
glutMouseFunc(mouse);
glutDisplayFunc(display);
glutMainLoop();
}
Step 4:按下F9 開啟小黑窗
Step 5:程式用法:在小視窗下任意點一處
CMD視窗將跳出該處座標
Step 6:不斷點擊以記下座標並劃出圖形,完成!















沒有留言:
張貼留言