2022年6月13日 星期一

xyt week17

 week17

期末作品筆記

1. 動畫檔
```c
#include <GL/glut.h>
#include <stdio.h>
#include "glm.h"
#include <opencv/highgui.h> ///使用 OpenCV 2.1 比較簡單, 只要用 High GUI 即可
#include <opencv/cv.h>
#include <GL/glut.h>
float dx=0, dy=0, dz=0, oldX=0, oldY=0;
GLMmodel * head = NULL;
GLMmodel * face = NULL;
GLMmodel * eyes = NULL;
GLMmodel * body = NULL;
GLMmodel * hand1 = NULL;
GLMmodel * hand2 = NULL;
GLMmodel * hand3 = NULL;
GLMmodel * hand4 = NULL;

float angle[20];
int angleID=0;///0:第0個關節,1:第1個關節,2:第2個關節
FILE * fout = NULL,* fin = NULL;
const GLfloat light_ambient[]  = { 0.0f, 0.0f, 0.0f, 1.0f };
const GLfloat light_diffuse[]  = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };

const GLfloat mat_ambient[]    = { 0.7f, 0.7f, 0.7f, 1.0f };
const GLfloat mat_diffuse[]    = { 0.8f, 0.8f, 0.8f, 1.0f };
const GLfloat mat_specular[]   = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat high_shininess[] = { 100.0f };
void myWrite()
{
    if(fin!=NULL)
    {
        fclose(fin); fin=NULL;
    }
    if(fout==NULL)fout = fopen("file.txt","w+");
    for(int i=0;i<20;i++)
    {
         printf(      "%.2f ",angle[i]);
         fprintf(fout,"%.2f ",angle[i]);
    }
    printf("\n");
    fprintf(fout,"\n");///少了fclose,因為不想要才印一行就結束,想寫多行一點
}
float NewAngle[20], OldAngle[20];
void myRead()
{
    if(fin==NULL) fin = fopen("file.txt", "r");
    for(int i=0; i<20; i++){
        OldAngle[i] = NewAngle[i];
    fscanf(fin, "%f", &NewAngle[i]);
        ///fscanf(fin, "%f", &angle[i]);
    }
    glutPostRedisplay();///重畫畫面
}

void myInterpolate(float alpha){
    for(int i=0; i<20; i++){
        angle[i] = alpha * NewAngle[i] + (1-alpha) * OldAngle[i];
        printf("%.2f", angle[i]);
    }
    printf("\n");
    glutPostRedisplay();
}
void timer(int t){
    float alpha = (t%30)/30.0;
    if(t%30==0) myRead();
    myInterpolate(alpha);
    glutTimerFunc(33, timer, t+1);
}
void keyboarad(unsigned char key,int x,int y)
{
    if( key=='p' ) {
        myRead();///先讀一行
        glutTimerFunc(0, timer, 0);
        ///myInterpolate(alpha);
        ///alpha = (alpha+0.01);
        ///if(alpha>1) alpha = alpha-1;
    }
    if(key=='r') myRead();
    if(key=='s') myWrite();///save
    if(key=='1') angleID=1;///預設這是第一個
    if(key=='2') angleID=2;
    if(key=='3') angleID=3;
    if(key=='4') angleID=4;
}///用keyboarad的按鍵,來決定等一下motion()裡要改的
void mouse(int button,int state,int x,int y)
{///mouse按下去
    oldX=x;
    /*oldY=y;*/
}
void motion(int x,int y)
{
    /*dx +=(x-oldX);
    dy -=(y-oldY);
    oldX=x;
    oldY=y;*/
    angle[angleID]+=(x-oldX);
    ///myWrite();///沒有必要一直寫檔
    oldX=x;
    glutPostRedisplay();///重畫畫面Re display
}
GLMmodel * myReadOne(char*filename)
{
    GLMmodel * one = NULL;
    if( one == NULL ){
        one= glmReadOBJ(filename);
        glmUnitize(one);
        glmFacetNormals(one);
        glmVertexNormals(one,90);
    }
    return one;
}
void display()///準備新的display(),把每一塊都讀進來
{
    ///glClearColor(0.2,0.2,0.4,1);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    if(head==NULL) head=myReadOne("data/head.obj");
    if(face==NULL) face=myReadOne("data/face.obj");
    if(eyes==NULL) eyes=myReadOne("data/eyes.obj");
    if(body==NULL) body=myReadOne("data/body.obj");
    if(hand1==NULL) hand1=myReadOne("data/hand1.obj");
    if(hand2==NULL) hand2=myReadOne("data/hand2.obj");
    if(hand3==NULL) hand3=myReadOne("data/hand3.obj");
    if(hand4==NULL) hand4=myReadOne("data/hand4.obj");

    glPushMatrix();

        glScalef(0.7,0.7,0.7);
        glTranslatef(0,-0.4,0);
        glColor3f(1,1,1);
        glmDraw(body, GLM_SMOOTH);

        glScalef(0.6,0.6,0.6);
        glTranslatef(0,2,0);
        glmDraw(head, GLM_SMOOTH);

        glRotatef(180,0,1,0);
        glTranslatef(0,0,0.85);
        glScalef(0.9,0.9,0.9);
        glColor3f(0,0,0);
        glmDraw(face, GLM_SMOOTH);

        glTranslatef(0,0,0.3);
        glColor3f(0,1,1);
        glmDraw(eyes, GLM_SMOOTH);

    glPopMatrix();

    glPushMatrix();///左半邊
        glScalef(0.65,0.65,0.65);
        glTranslatef(-0.7,0.2,0);
        glRotatef(angle[1],0,0,1);
        glTranslatef(0,-0.5,0);
        glColor3f(1,1,1);
        glmDraw(hand1, GLM_SMOOTH);///上手臂
        glPushMatrix();
            glScalef(2,2,2);
            glTranslatef(0.02,-0.25,0);
            glRotatef(angle[2],0,0,1);
            glTranslatef(0.03,-0.1,0);
            glmDraw(hand2, GLM_SMOOTH);///再畫右下手肘
        glPopMatrix();
    glPopMatrix();

    glPushMatrix();///右半邊
        glScalef(0.65,0.65,0.65);
        glTranslatef(0.7,0.2,0);
        glRotatef(angle[3],0,0,1);
        glTranslatef(0,-0.5,0);
        glColor3f(1,1,1);
        glmDraw(hand3, GLM_SMOOTH);///上手臂
        glPushMatrix();
            glScalef(2,2,2);
            glTranslatef(-0.02,-0.25,0);
            glRotatef(angle[4],0,0,1);
            glTranslatef(-0.03,-0.1,0);
            glmDraw(hand4, GLM_SMOOTH);///再畫右下手肘
        glPopMatrix();
    glPopMatrix();

    glutSwapBuffers();
}
int main(int argc,char**argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);
    ///glutInitWindowSize(600,600);
    glutCreateWindow("final test");
    glutKeyboardFunc(keyboarad);
    glutMouseFunc(mouse);
    glutMotionFunc(motion);
    glutDisplayFunc(display);///不放Idle
    glEnable(GL_DEPTH_TEST);///3D的depth深度測試
    glDepthFunc(GL_LESS);

    glEnable(GL_LIGHT0);
    glEnable(GL_NORMALIZE);
    glEnable(GL_COLOR_MATERIAL);
    glEnable(GL_LIGHTING);

    glLightfv(GL_LIGHT0, GL_AMBIENT,  light_ambient);
    glLightfv(GL_LIGHT0, GL_DIFFUSE,  light_diffuse);
    glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);
    glLightfv(GL_LIGHT0, GL_POSITION, light_position);

    glMaterialfv(GL_FRONT, GL_AMBIENT,   mat_ambient);
    glMaterialfv(GL_FRONT, GL_DIFFUSE,   mat_diffuse);
    glMaterialfv(GL_FRONT, GL_SPECULAR,  mat_specular);
    glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess);

    glutMainLoop();
}
```
2. 加入音樂
```c
#include  "CMP3_MCI.h"
CMP3_MCI mp3;
```
```c
mp3.Load("music.mp3");
mp3.Play();
```
3. 動畫、音樂、投影
```c
#include <GL/glut.h>
#include <stdio.h>
#include "glm.h"
#include <opencv/highgui.h> ///使用 OpenCV 2.1 比較簡單, 只要用 High GUI 即可
#include <opencv/cv.h>
#include <GL/glut.h>
#include  "CMP3_MCI.h"
#include <stdio.h>
CMP3_MCI mp3;
float dx=0, dy=0, dz=0, oldX=0, oldY=0;
GLMmodel * head = NULL;
GLMmodel * face = NULL;
GLMmodel * eyes = NULL;
GLMmodel * body = NULL;
GLMmodel * hand1 = NULL;
GLMmodel * hand2 = NULL;
GLMmodel * hand3 = NULL;
GLMmodel * hand4 = NULL;

float angle[20];
int angleID=0;///0:第0個關節,1:第1個關節,2:第2個關節
FILE * fout = NULL,* fin = NULL;
const GLfloat light_ambient[]  = { 0.0f, 0.0f, 0.0f, 1.0f };
const GLfloat light_diffuse[]  = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };

const GLfloat mat_ambient[]    = { 0.7f, 0.7f, 0.7f, 1.0f };
const GLfloat mat_diffuse[]    = { 0.8f, 0.8f, 0.8f, 1.0f };
const GLfloat mat_specular[]   = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat high_shininess[] = { 100.0f };
void myWrite()
{
    if(fin!=NULL)
    {
        fclose(fin); fin=NULL;
    }
    if(fout==NULL)fout = fopen("file.txt","w+");
    for(int i=0;i<20;i++)
    {
         printf(      "%.2f ",angle[i]);
         fprintf(fout,"%.2f ",angle[i]);
    }
    printf("\n");
    fprintf(fout,"\n");///少了fclose,因為不想要才印一行就結束,想寫多行一點
}
float NewAngle[20], OldAngle[20];
void myRead()
{
    if(fin==NULL) fin = fopen("file.txt", "r");
    for(int i=0; i<20; i++){
        OldAngle[i] = NewAngle[i];
    fscanf(fin, "%f", &NewAngle[i]);
        ///fscanf(fin, "%f", &angle[i]);
    }
    glutPostRedisplay();///重畫畫面
}

void myInterpolate(float alpha){
    for(int i=0; i<20; i++){
        angle[i] = alpha * NewAngle[i] + (1-alpha) * OldAngle[i];
        printf("%.2f", angle[i]);
    }
    printf("\n");
    glutPostRedisplay();
}
void timer(int t){
    float alpha = (t%30)/30.0;
    if(t%30==0) myRead();
    myInterpolate(alpha);
    glutTimerFunc(33, timer, t+1);
}
void keyboarad(unsigned char key,int x,int y)
{
    if( key=='p' ) {
        myRead();///先讀一行
        glutTimerFunc(0, timer, 0);
        ///myInterpolate(alpha);
        ///alpha = (alpha+0.01);
        ///if(alpha>1) alpha = alpha-1;
    }
    if( key=='5'){
        ///glMatrixMode(GL_MODELVIEW);///3D經過轉換到你最後的攝影機
        glLoadIdentity();
        gluLookAt( (x-150)/15.0, (y-150)/15.0, -2.5, ///eye
                0, 0, 0, ///center
                0, 2, 0);///up
    }
    if(key=='r') myRead();
    if(key=='s') myWrite();///save
    if(key=='1') angleID=1;///預設這是第一個
    if(key=='2') angleID=2;
    if(key=='3') angleID=3;
    if(key=='4') angleID=4;
}///用keyboarad的按鍵,來決定等一下motion()裡要改的
void mouse(int button,int state,int x,int y)
{///mouse按下去
    oldX=x;
    /*oldY=y;*/
}
void motion(int x,int y)
{
    /*dx +=(x-oldX);
    dy -=(y-oldY);
    oldX=x;
    oldY=y;*/
    angle[angleID]+=(x-oldX);
    ///myWrite();///沒有必要一直寫檔
    oldX=x;

    glutPostRedisplay();///重畫畫面Re display
}
GLMmodel * myReadOne(char*filename)
{
    GLMmodel * one = NULL;
    if( one == NULL ){
        one= glmReadOBJ(filename);
        glmUnitize(one);
        glmFacetNormals(one);
        glmVertexNormals(one,90);
    }
    return one;
}
void display()///準備新的display(),把每一塊都讀進來
{
    ///glClearColor(0.2,0.2,0.4,1);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    if(head==NULL) head=myReadOne("data/head.obj");
    if(face==NULL) face=myReadOne("data/face.obj");
    if(eyes==NULL) eyes=myReadOne("data/eyes.obj");
    if(body==NULL) body=myReadOne("data/body.obj");
    if(hand1==NULL) hand1=myReadOne("data/hand1.obj");
    if(hand2==NULL) hand2=myReadOne("data/hand2.obj");
    if(hand3==NULL) hand3=myReadOne("data/hand3.obj");
    if(hand4==NULL) hand4=myReadOne("data/hand4.obj");

    glPushMatrix();

        glScalef(0.7,0.7,0.7);
        glTranslatef(0,-0.4,0);
        glColor3f(1,1,1);
        glmDraw(body, GLM_SMOOTH);

        glScalef(0.6,0.6,0.6);
        glTranslatef(0,2,0);
        glmDraw(head, GLM_SMOOTH);

        glRotatef(180,0,1,0);
        glTranslatef(0,0,0.85);
        glScalef(0.9,0.9,0.9);
        glColor3f(0,0,0);
        glmDraw(face, GLM_SMOOTH);

        glTranslatef(0,0,0.3);
        glColor3f(0,1,1);
        glmDraw(eyes, GLM_SMOOTH);

    glPopMatrix();

    glPushMatrix();///左半邊
        glScalef(0.65,0.65,0.65);
        glTranslatef(-0.7,0.2,0);
        glRotatef(angle[1],0,0,1);
        glTranslatef(0,-0.5,0);
        glColor3f(1,1,1);
        glmDraw(hand1, GLM_SMOOTH);///上手臂
        glPushMatrix();
            glScalef(2,2,2);
            glTranslatef(0.02,-0.25,0);
            glRotatef(angle[2],0,0,1);
            glTranslatef(0.03,-0.1,0);
            glmDraw(hand2, GLM_SMOOTH);///再畫右下手肘
        glPopMatrix();
    glPopMatrix();

    glPushMatrix();///右半邊
        glScalef(0.65,0.65,0.65);
        glTranslatef(0.7,0.2,0);
        glRotatef(angle[3],0,0,1);
        glTranslatef(0,-0.5,0);
        glColor3f(1,1,1);
        glmDraw(hand3, GLM_SMOOTH);///上手臂
        glPushMatrix();
            glScalef(2,2,2);
            glTranslatef(-0.02,-0.25,0);
            glRotatef(angle[4],0,0,1);
            glTranslatef(-0.03,-0.1,0);
            glmDraw(hand4, GLM_SMOOTH);///再畫右下手肘
        glPopMatrix();
    glPopMatrix();

    glutSwapBuffers();
}
void reshape(int w, int h)
{
    const float ar = (float) w / (float) h;
    glViewport(0, 0, w, h);
    glMatrixMode(GL_PROJECTION);///投影,把3D投射到2D畫面
    glLoadIdentity();
    gluPerspective(60, ar, 0.1, 100);
    glMatrixMode(GL_MODELVIEW);///3D經過轉換到你最後的攝影機
    glLoadIdentity() ;
    gluLookAt( 0, 0.4, -2.5, 0, 0, 0, 0, 2, 0);
}
int main(int argc,char**argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);
    ///glutInitWindowSize(600,600);
    glutCreateWindow("final test");
    glutKeyboardFunc(keyboarad);
    glutMouseFunc(mouse);
    glutMotionFunc(motion);
    ///PlaySound("music.wav", NULL, SND_SYNC);
    mp3.Load("music.mp3");
    ///mp3.Play();///好吵 等做好再打開
    glutReshapeFunc(reshape);
    glutDisplayFunc(display);///不放Idle
    glEnable(GL_DEPTH_TEST);///3D的depth深度測試
    glDepthFunc(GL_LESS);

    glEnable(GL_LIGHT0);
    glEnable(GL_NORMALIZE);
    glEnable(GL_COLOR_MATERIAL);
    glEnable(GL_LIGHTING);

    glLightfv(GL_LIGHT0, GL_AMBIENT,  light_ambient);
    glLightfv(GL_LIGHT0, GL_DIFFUSE,  light_diffuse);
    glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);
    glLightfv(GL_LIGHT0, GL_POSITION, light_position);

    glMaterialfv(GL_FRONT, GL_AMBIENT,   mat_ambient);
    glMaterialfv(GL_FRONT, GL_DIFFUSE,   mat_diffuse);
    glMaterialfv(GL_FRONT, GL_SPECULAR,  mat_specular);
    glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess);

    glutMainLoop();
}
```
4. 伊芙正確file檔
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 -90.00 0.00 90.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 -21.00 -90.00 22.00 90.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 -90.00 0.00 90.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 16.00 88.00 -18.00 79.00 0.00 6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 57.00 0.00 -61.00 16.00 88.00 -18.00 79.00 0.00 -6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 16.00 88.00 -18.00 79.00 0.00 6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 57.00 0.00 -61.00 16.00 88.00 -18.00 79.00 0.00 -6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 0.00 62.00 0.00 -42.00 -72.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 0.00 -35.00 0.00 43.00 75.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 0.00 62.00 0.00 -42.00 -72.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 0.00 -35.00 0.00 43.00 75.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 28.00 0.00 -24.00 0.00 0.00 196.00 0.00 186.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -17.00 76.00 15.00 -84.00 0.00 196.00 0.00 186.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -3.00 55.00 7.00 -58.00 -1.00 85.00 0.00 89.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -3.00 55.00 7.00 -58.00 -13.00 90.00 13.00 92.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -3.00 55.00 7.00 -58.00 -1.00 85.00 0.00 89.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -3.00 55.00 7.00 -58.00 -13.00 90.00 13.00 92.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -5.00 0.00 0.00 0.00 -96.00 164.00 84.00 146.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -5.00 0.00 0.00 0.00 -96.00 152.00 84.00 160.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -5.00 0.00 0.00 0.00 -96.00 149.00 84.00 144.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -5.00 0.00 0.00 0.00 -96.00 149.00 84.00 144.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 -9.00 38.00 78.00 41.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 -48.00 45.00 16.00 42.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 -48.00 45.00 16.00 42.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 6.00 31.00 0.00 -3.00 -89.00 94.00 75.00 97.00 52.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 6.00 -54.00 0.00 -3.00 -89.00 94.00 75.00 97.00 52.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 6.00 31.00 0.00 -3.00 -89.00 94.00 75.00 97.00 52.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 6.00 -54.00 0.00 -3.00 -89.00 94.00 75.00 97.00 52.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 -99.00 -47.00 87.00 6.00 78.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 -33.00 0.00 -117.00 -47.00 87.00 6.00 78.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 -99.00 -47.00 87.00 6.00 78.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 28.00 177.00 -41.00 174.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 28.00 169.00 -41.00 165.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 28.00 177.00 -41.00 174.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 28.00 169.00 -41.00 165.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -24.00 78.00 23.00 -83.00 0.00 194.00 0.00 179.00 0.00 9.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -12.00 81.00 23.00 -66.00 0.00 194.00 0.00 179.00 0.00 -6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 -40.00 -24.00 7.00 12.00 65.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 182.00 0.00 0.00 -6.00 -24.00 7.00 12.00 65.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 277.00 2.00 0.00 -51.00 -24.00 7.00 12.00 65.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 361.00 2.00 0.00 -20.00 -24.00 7.00 12.00 65.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 361.00 2.00 0.00 -20.00 -24.00 7.00 12.00 65.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 361.00 68.00 0.00 -49.00 0.00 85.00 0.00 88.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 361.00 9.00 0.00 -12.00 0.00 85.00 0.00 88.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 361.00 68.00 0.00 -49.00 0.00 85.00 0.00 88.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 361.00 9.00 0.00 -12.00 0.00 85.00 0.00 88.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
2.00 361.00 4.00 6.00 79.00 -53.00 124.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 353.00 -77.00 0.00 0.00 0.00 0.00 98.00 124.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
2.00 361.00 4.00 6.00 79.00 -53.00 124.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 353.00 -77.00 0.00 0.00 0.00 0.00 98.00 124.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 0.00 181.00 0.00 174.00 -44.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 0.00 181.00 0.00 174.00 -341.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 -55.00 -5.00 167.00 21.00 73.00 -363.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 -20.00 -5.00 167.00 21.00 73.00 -363.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 60.00 0.00 -1.00 -5.00 167.00 21.00 0.00 -363.00 6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 20.00 0.00 -1.00 -5.00 167.00 21.00 0.00 -363.00 -3.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -28.00 -3.00 0.00 -1.00 60.00 167.00 21.00 0.00 -363.00 -1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 9.00 -3.00 0.00 -1.00 60.00 167.00 21.00 0.00 -363.00 -1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -56.00 -11.00 -124.00 -1.00 1.00 175.00 181.00 0.00 -363.00 -1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -56.00 -11.00 -124.00 -1.00 1.00 175.00 181.00 0.00 -402.00 -1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 -66.00 93.00 85.00 108.00 -360.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 -66.00 105.00 85.00 92.00 -360.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 91.00 103.00 276.00 109.00 -360.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 0.00 0.00 0.00 0.00 91.00 132.00 276.00 122.00 -360.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 2.00 -87.00 -6.00 88.00 0.00 0.00 0.00 0.00 -360.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -20.00 -87.00 21.00 88.00 0.00 0.00 0.00 0.00 -360.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -158.00 -95.00 21.00 88.00 0.00 0.00 0.00 0.00 -360.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -20.00 -87.00 21.00 88.00 0.00 0.00 0.00 0.00 -360.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -158.00 -95.00 21.00 88.00 0.00 0.00 0.00 0.00 -360.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -22.00 75.00 14.00 -79.00 0.00 180.00 0.00 170.00 -360.00 6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -18.00 66.00 25.00 -77.00 0.00 176.00 0.00 170.00 -360.00 -6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -22.00 75.00 14.00 -79.00 0.00 180.00 0.00 170.00 -360.00 6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
0.00 -18.00 66.00 25.00 -77.00 0.00 176.00 0.00 170.00 -360.00 -6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 


沒有留言:

張貼留言