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();///主要迴圈卡最後面
}
👍👍👍👍👍👍👍👍👍👍👍👍👍




沒有留言:
張貼留言