2023年3月2日 星期四

Fafa的奇妙冒險 week03

 Week 03

Week03-1-1





Step 2:5/4 的Example 下載 datawin32








Step 3: data.zipwindows.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:不斷點擊以記下座標並劃出圖形,完成!





    






沒有留言:

張貼留言