2016年3月14日 星期一

:)嗨

跟上次一樣先進去這網站下載東西

一樣把data和dll黨丟進去
然後這次是打開這個 因為這次是要講有關選轉方面的主題


第二個作業是 用滑鼠幫助自己點出圖片的位置
首先一樣的先開出GLUT的專案
然而前面的程式碼跟上週教的一樣只是多了滑鼠控制的函數
#include <GL/glut.h>
#include <stdio.h>
void mouse (int button, int state, int x, int y)
{
    if(state==GLUT_DOWN)//這行是偵測滑鼠按下去的意思
        printf("glVertexf((%d-150)/150.0),-(%d-150)/150.0); \n",x,y);//這行主要是印出你點的滑鼠作標
}
void display()
{
    glBegin(GL_POLYGON);
        glColor3f(1,0,1);
        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(":)");
    glutDisplayFunc(display);
    glutMouseFunc(mouse);//這一個則是呼叫有關滑鼠的函式
    glutMainLoop();
}

其他地方基本上長的一模一樣
然而結果則是如下圖滑鼠點某個地方就會挑出該點的座標位置


接下來是講如何畫圓

用這幾行就可以畫出一個圓了哦
glClearColor(150/255.0,170/255.0,55/255.0,1);//這一行是清除時裡面會剩下的顏色
glClear(GL_COLOR_BUFFER_BIT);//這是清除剩下來的原
glTranslatef(0.4,0.2,0);//這行則是可以來控制圓的位置
glBegin(GL_POLYGON);
        for(float angle=0;angle<3.1415926 *2;angle+=0.1)//這是以扇形方式讓他把圖跑出來
        {
            glVertex2f( 0.2*cos(angle),0.2*sin(angle));//這行則是控制它的大小更改0.2就可以了
        }
glEnd();

沒有留言:

張貼留言