2021年3月8日 星期一

是我是我詐騙 Week03

 

OpenGl 開始!


1.開啟OpenGl專案 ➔ 打開程式 ➔ 複製86-92行

 glBegin(GL_TRIANGLES);
                glColor3f(1.0f, 0.0f, 0.0f);      
                glVertex2f(0.0f,   1.0f);
                glColor3f(0.0f, 1.0f, 0.0f);  
                glVertex2f(0.87f,  -0.5f);
                glColor3f(0.0f, 0.0f, 1.0f);  
                glVertex2f(-0.87f, -0.5f);
           glEnd();


GLUT專案 開始!


1.開始刪減

#ifdef __APPLE__
#include <GLUT/glut.h>  ///是蘋果電腦用的



2.剩下這裡


#include <GL/glut.h> ///使用glut外掛

static void display(void)
{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    
    glutSwapBuffers();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");

    glutDisplayFunc(display);
    glutMainLoop();

3.把前面複製的程式貼進去


#include <GL/glut.h>

static void display(void)
{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    
     glBegin(GL_TRIANGLES);

                glColor3f(1.0f, 0.0f, 0.0f); 
                glVertex2f(0.0f,   1.0f);
                glColor3f(0.0f, 1.0f, 0.0f); 
                glVertex2f(0.87f,  -0.5f);
                glColor3f(0.0f, 0.0f, 1.0f);
                glVertex2f(-0.87f, -0.5f);

            glEnd();
    
    glutSwapBuffers();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);  ///設定glut初始化
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    ///顯示模式
    glutCreateWindow("GLUT Shapes");  ///開glut視窗

    glutDisplayFunc(display);   ///顯示的函式
    glutMainLoop();   ///glut主要的迴圈,卡住不要結束


來寫寫看程式!



1.寫了一個茶壺

#include <GL/glut.h>  ///使用GLUT外掛
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清空
    glutSolidTeapot(0.3);
    glutSwapBuffers();   ///交換兩倍的buffers
}
int main(int argc,char ** argv)
{
    glutInit(&argc,argv);    ///GLUT初始設定
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH); ///顯示模式
    glutCreateWindow("08160554");   ///開窗
    glutDisplayFunc(display);   ///等一下要顯示的函示
    glutMainLoop();   ///主要迴圈
}

2.參數



先把WEEK03-1改成粗線條/Activate project




#include <stdio.h>
int main(int argc,char **argv)
{
    printf("現在的argc是:%d\n",argc);
    for(int i=0;i<argc;i++)
    {
        printf("argv[%d]是:%s\n",i,argv[i]);
    }
}




打開cmd





把week03-1/bin/debug/week03-1.exe放進命令提示字元







成功!!!✨✨✨

3.畫有指定座標跟顏色的三角形


#include <GL/glut.h>
void display()
{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

     glColor3ub(181,212,148);
     glBegin(GL_TRIANGLES);

                glVertex2f((149-150)/150.0, -(116-150)/150.0);
                glVertex2f((189-150)/150.0, -(116-150)/150.0);
                glVertex2f((176-150)/150.0, -(144-150)/150.0);

    glEnd();

    glutSwapBuffers();
}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("08160554");

    glutDisplayFunc(display);

    glutMainLoop();
}





#include <GL/glut.h>
void display()
{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

     glColor3ub(100,100,255);
     glBegin(GL_TRIANGLES);

                glVertex2f((113-150)/150.0, -(33-150)/150.0);
                glVertex2f((44-150)/150.0, -(160-150)/150.0);
                glVertex2f((184-150)/150.0, -(160-150)/150.0);

     glBegin(GL_TRIANGLES);

                glVertex2f((156-150)/150.0, -(49-150)/150.0);
                glVertex2f((192-150)/150.0, -(113-150)/150.0);
                glVertex2f((127-150)/150.0, -(104-150)/150.0);
     glEnd();

     glColor3ub(255,255,255);
     glBegin(GL_TRIANGLES);

                glVertex2f((77-150)/150.0, -(131-150)/150.0);
                glVertex2f((86-150)/150.0, -(143-150)/150.0);
                glVertex2f((70-150)/150.0, -(143-150)/150.0);


    glEnd();

    glutSwapBuffers();
}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("08160554");

    glutDisplayFunc(display);

    glutMainLoop();
}



















沒有留言:

張貼留言

Week18期末作業(橘貓的跳舞熊熊)

 期末作業(橘貓的跳舞熊熊) 影片: https://youtu.be/R89tptMaQZw 程式碼: #include <opencv/highgui.h> #include <opencv/cv.h> #include <GL/glut.h...