2023年3月2日 星期四

真WEEK03

week03用 mouse 幫忙寫作業

1.進入https://jsyeh.org/3dcg10/網頁


下載win32 data,將win32和data解壓縮

將data放入window

開啟Transformation.exe檔

開啟後按右鍵即可切換不同模型

上下拉動XYZ可變換位置

移動 Translate









 

2.開啟GLUT

 CodeBlocks: File-New-Project, 選 GLUT專案, 按GO

按Next->輸入檔名week01-2_GLUT->next->Finish

再把 GLUT 的目錄, 設成 桌面的 freeglut 

按下Sources 中的Main.pp

更改其中的程式碼





















!!!若要將部落格的程式顯示漂亮

可以利用GIT HUB 的GITS功能

記得檔案名要加.cpp



實作: glTranslatef(x,y,z) 配合 glPushMatrix() glPopMatrix()

3.移動茶壺位

glPushMatrix();
    glTranslatef(0.5,0.5,0);




4.讓茶壺跟著滑鼠移動

*座標減一半,除一半

X=(x-150)/150.0;
    Y=-(y-150)/150.0;


☺今日功課:用滑鼠寫作業

#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);

    glutSwapBuffers();///交換顯示出來
}
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);///要開始GLUT的功能
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///設定GLUT的顯示模式
    glutCreateWindow("week03");///建一個窗字

    glutMouseFunc(mouse);
    glutDisplayFunc(display);///要顯示的函式
    glutMainLoop();///主要迴圈卡最後面
}
👍👍👍👍👍👍👍👍👍👍👍👍👍


沒有留言:

張貼留言