2021年5月31日 星期一

MCUCG_Week15

 1.創建文件檔


#include <stdio.h>

int main(int argc, char** argv)

{

    FILE * fout = NULL;

    fout = fopen("檔名.txt", "w+");


    printf("Hello World\n");

    fprintf(fout, "Hello World\n");

}

2.讀取文件文字

#include <stdio.h>
int main(int argc, char** argv)
{
    FILE * fin = NULL;
    fin = fopen("檔名.txt", "r");

    char line[100];
    fscanf(fin , "%s", line);
    printf("現在讀到的是 %s \n", line);

    fscanf(fin , "%s", line);
    printf("現在讀到的是 %s \n", line);
}
3.茶壺
#include <stdio.h>
#include <GL/glut.h>
void display()
{
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glutSolidTeapot(0.3);
    glutSwapBuffers();

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

    glutDisplayFunc( display);
    glutMainLoop();
}
4.茶壺手臂模擬(上下移動)
#include <stdio.h>
#include <GL/glut.h>
float angle = 0, diff = 2;
void timer(int t)
{
    glutTimerFunc( 30, timer, t+1);
    angle += diff;
    if(angle > 90) diff = -2;
    if(angle < 0) diff = +2;
    glutPostRedisplay();
}
void display()
{
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glutSolidTeapot( 0.3 );
        glPushMatrix();
            glTranslatef(-0.5,0,0);
            glRotatef(angle,0,0,1);
            glTranslatef(-0.5,0,0);
            glutSolidTeapot(0.3);
            glPushMatrix();
                glTranslatef(-0.5,0,0);
                glRotatef(angle,0,0,1);
                glTranslatef(-0.5,0,0);
                glutSolidTeapot(0.3);
            glPopMatrix();
        glPopMatrix();
        glPushMatrix();
            glutSolidTeapot(0.3);
            glutSolidTeapot(0.3);
        glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();

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

    glutDisplayFunc( display);
    glutTimerFunc(0,timer,0);
    glutMainLoop();
}
5.茶壺模擬雙臂移動(上下移動)

#include <stdio.h>
#include <GL/glut.h>
float angle = 0, diff = 2;
void timer(int t)
{
    glutTimerFunc( 30, timer, t+1);
    angle += diff;
    if(angle > 90) diff = -2;
    if(angle < 0) diff = +2;
    glutPostRedisplay();
}
void display()
{
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glutSolidTeapot( 0.3 );
        glPushMatrix();
            glTranslatef(-0.3,0,0);
            glRotatef(angle,0,0,1);
            glTranslatef(-0.3,0,0);
            glutSolidTeapot(0.3);
            glPushMatrix();
                glTranslatef(-0.3,0,0);
                glRotatef(angle,0,0,1);
                glTranslatef(-0.3,0,0);
                glutSolidTeapot(0.3);
            glPopMatrix();
        glPopMatrix();
        glPushMatrix();
            glTranslatef(0.3,0,0);
            glRotatef(-angle,0,0,1);
            glTranslatef(0.3,0,0);
            glutSolidTeapot(0.3);
            glPushMatrix();
                glTranslatef(0.3,0,0);
                glRotatef(-angle,0,0,1);
                glTranslatef(0.3,0,0);
                glutSolidTeapot(0.3);
            glPopMatrix();
        glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();

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

    glutDisplayFunc( display);
    glutTimerFunc(0,timer,0);
    glutMainLoop();
}








沒有留言:

張貼留言

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

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