2022年5月12日 星期四

AAA的圖學筆記

表定電腦圖學 Week12 2022-05-10
1. 主題: T-R-T (移動、旋輚、移動)對特定軸轉動
2. 作業: T-R-T 
3. 下週考試: T-R-T 對特定軸轉動

 揮手

glPushMatrix();

        myDrawObject(0);///畫身體

        glRotatef( angle , 0 , 0 , 1) ;///轉下面整個東西

        glTranslatef( -0.3 , -0.19 , 0 );///往左下方移動(軸心放中心) 

        myDrawObject(1);///手臂(右上方)

plPopMatrix();

實作測驗

#include <GL/glut.h>

void display()

{

    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

        glTranslatef(0 , 0, 0);

        glRotatef( angle , 0 , 0 ,1 );

        glTranslatef( 0 , 0 , 0);

        glutSolidTeapot(0.2);

    glPopMatrix();

    glutSwapBuffers();

}

int main(int argc, char **argv)

{

    glutInit (&argc , argv);

    glutInitDisplayMode( GLUT_DOUBLE|GLUT_DEPTH);

    glutCreateWindow("week12 TRT");


    glutIdleFunc(display);

    glutDisplayFunc(display);

    glutMainLoop();

}

#include <GL/glut.h>
float angle=0 ;///角度
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glTranslatef(0 , 0, 0);///(3)掛到右邊(整個往右移動)
        glRotatef( angle , 0 , 0 ,1 );///(2)旋轉(向手臂一樣轉動)
        glTranslatef( 0 , 0 , 0);///(1)選轉中心放到中間
        glutSolidTeapot(0.2);
    glPopMatrix();
    glutSwapBuffers();
    angle+=0.1;///每次增加0.1度
}
int main(int argc, char **argv)
{
    glutInit (&argc , argv);
    glutInitDisplayMode( GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week12 TRT");

    glutIdleFunc(display);
    glutDisplayFunc(display);
    glutMainLoop();
}
超人
#include <GL/glut.h>
float angle=0 ;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glColor3f(1,1,1);///白色
    glutSolidTeapot(0.3);///大的茶壺當身體
    glPushMatrix();
        glTranslatef(0.2 , 0, 0);///(3)掛到右邊(整個往右移動)
        glRotatef( angle , 0 , 0 ,1 );///(2)旋轉(向手臂一樣轉動)
        glTranslatef( 0.2 , 0 , 0);///(1)選轉中心放到中間
        glColor3f(1,0,0);///紅色
        glutSolidTeapot(0.2);///小的當手臂
    glPopMatrix();
    glutSwapBuffers();
    angle+=0.1;
}
int main(int argc, char **argv)
{
    glutInit (&argc , argv);
    glutInitDisplayMode( GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week12 TRT");

    glutIdleFunc(display);
    glutDisplayFunc(display);
    glutMainLoop();

}





下周考試
T(物體放在絕對位置)_R(旋轉角度)_T(旋轉中心放到正中心)

glPushMatrix();
glTranslatef(-0.5,-0.9,0);
glRotatef(angle,0,0,1);//angle=45
glTranslatef(-0.8,0.9,0);
gluthand();
glPopMatrix();

 Git 指令

        1.安裝 Git for Windows,再開啟 Git Bash

        2.cd desktop

        3.git clone https://github.com/XXXXXXX

        4.cd 2022graphics1

        5.git status

        6.git add .

        7.git status

        8.git config --global user.email "09XXXXXX@me.mcu.edu.tw"

        9.git config --global user.name 

        10.git commit -m"add "

        11.git push

沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...