2022年5月13日 星期五

CY.hsin_week12

1.轉動車子

    step01:jsyeh.org/3dcg10 下載 windows.zip data.zip
    step02:解壓縮 下載\windows\Transformation.exe
    step03:解壓縮 下載\windows\data\模型

  glTranslatef( 0.8, 0.0, 0.0);車子會向右轉

    



2.對特定軸轉動練習

    https://120.125.80.50/GL/opengl_TRT_demo.html

    step01:把glRatated(angle,0,0,1);移到glPushMatrix();上面 按空白鍵旋轉


    step02:myDrawObject(0);移到glTranslatef(0,0,0),
                使用glTranslatef(0,0,0);移動位置

3.2
 #include <GL/glut.h>

float angle=0;

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

    glRotatef(angle,0,0,1);///旋轉

    glTranslatef(0.4,-0.07,0);///旋轉

    glutSolidTeapot(0.3);///往右下移動(手把移動中心)

    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();

}

4.3

#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.3,0,0);///把下面的東西掛在某處
      glRotatef(angle,0,0,1);///旋轉
      glTranslatef(0.2,0,0);
      glColor3f(1,0,0);///紅色
      glutSolidTeapot(0.2);///茶壺
    glPushMatrix();
      glTranslatef(0.2,0,0);///把下面的東西掛在某處
      glRotatef(angle,0,0,1);///旋轉
      glTranslatef(0.2,0,0);
      glColor3f(1,0,0);///紅色
      glutSolidTeapot(0.2);///茶壺
    glPopMatrix();
     glPopMatrix();
    glutSwapBuffers();
    angle+=0.03;
}
int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("Week12_TRT_TRT");
    glutIdleFunc(display);
    glutDisplayFunc(display);
    glutMainLoop();
}


















沒有留言:

張貼留言