2024年5月23日 星期四

0523

 1.week14-1_alpha_interpolation_angle_timer

    接上週week13-2

    先設置好環境

    -freeglut

    -OpenCV2.1

    -Settings->Comiler Settings

        --compiler的include要加入C:\OpenCV2.1\include

        --linker的lib要加入C:\OpenCV2.1\lib

        --linker設定,要加入cv210 cxcore210 highgui210

    從Github複製目錄week13-2

    改目錄名、改.cbp檔名、title

    成功後在進行alpha內插

    TODO:開Excel

    alpha公式:新的*alpha+舊的*(1-alpha)


    timer:

        """
        void timer(int t){
            glutTimerFunc(1000,timer,t+1);
            print("現在起床:%d\n",t);
        }
        glutTimerFunc(0,timer,0);"""

2.week14-2_angleX_angleY_10
    複製week14-1目錄
    改檔名
    程式修改:
        if(key=='0')angleID=0;做到if(key=='9') angleID=9;
        把float angle[20]={};改成float angleX[10]={},angleY[10]={};
        把原本的for(int i=0;i<20;i++)變成for(int i=0;i<10;i++)
        '''cpp
        for(int i=0;i<10;i++){
            //printf("%.1f ",angle[i]);
            printf("%.1f ",angleX[i]);
            printf("%.1f ",angleY[i]);
            ///fprintf(fout,"%.1f ",angle[i]);
            fprintf(fout,"%.1f ",angleX[i]);
            fprintf(fout,"%.1f ",angleY[i]);
        }
        '''
    再把讀檔的地方,也改掉,也把timer()裡也改掉
    display()裡,把T-R-T改一下
    '''cpp
    glPushMatrix();
        glTranslatef(...);
        glRotatef(angleX[0],1,0,0);
        glRotatef(angleY[0],0,1,0);
        glTranslatef(...);
        drawbody();
    glPopMatrix();
    '''
    motion()裡也要改


沒有留言:

張貼留言