2023年2月22日 星期三

Y2

  
                            

                            #include <GL/glut.h>
                            void display()
                           {
                           glutSolidTeapot( 0.3 );
                           glutSwapBuffers();
                           }
                           int main(int argc, char *argv[])
                           {
                           glutInit(&argc, argv);
                           glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
                           glutCreateWindow("GLUT Shapes");
                           glutDisplayFunc(display);
                           glutMainLoop();           
                           }

                 1.新增兩行實心茶壺內外顏色(0~1,0~1,0~1)


                         glColor3f(0,1,1);
                         glutSolidTeapot( 0.5 );

                         glColor3f(1,0,1);
                         glutSolidTeapot( 0.3 );
                         glutSwapBuffers();
                         
                      ~~~~~~~~~~~
                         測試顏色 
                         0,0,0 黑
                         0,0,1 深藍
                         0,1,1 淺藍
                         0,1,0 綠
                         1,0,0 紅
                         1,0,1 紫
                         1,1,0 黃
                         1,1,1 白
                    ~~~~~~~~~~~
                   
                2.三頂點多邊形

                       
                 

                        glColor3f(0,1,0);
                        glBegin(GL_POLYGON);
                        glVertex2f(0,1);
                        glVertex2f(-1,-1);
                        glVertex2f(+1,-1);
                        glEnd();


                3.



                        glBegin(GL_POLYGON);
                        glColor3f(1,0,0);  glVertex2f(0,1);
                        glColor3f(0,1,0);  glVertex2f(-1,-1);
                        glColor3f(0,0,1);  glVertex2f(+1,-1);
                        glEnd();




4.HW
  glColor3f(247/255.0, 247/255.0, 247/255.0,);
  glBegin(GL_POLYGON);
  glVertex2f(1,1);
  glVertex2f(-1,1);
  glVertex2f(-1,-1);
  glVertex2f(1,-1);
  glEnd();

  glColor3f(244/255.0,209/255.0,33/255.0);
  glBegin(GL_POLYGON);
      glVertex2f((45-100)/100.0, -(134-100)/100.0 );
      glVertex2f((36-100)/100.0, -(171-100)/100.0);
      glVertex2f((108-100)/100.0, -(179-100)/100.0);
      glVertex2f((104-100)/100.0, -(117-100)/100.0);
  glEnd();
  glutSwapBuffers();
}




week03-1





2-1

#include <GL/glut.h>
void display()
{

  glBegin(GL_POLYGON);
  glColor3f(1,0,0);  glVertex2f(0,1);
  glColor3f(0,1,0);  glVertex2f(-1,-1);
  glColor3f(0,0,1);  glVertex2f(+1,-1);
  glEnd();

  glColor3f(1,1,0);
  glutSolidTeapot( 0.3 );
  glutSwapBuffers();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
}

2-2
#include <GL/glut.h>
void display()
{
  glColor3f(247/255.0, 247/255.0, 247/255.0,);
  glBegin(GL_POLYGON);
  glVertex2f(1,1);
  glVertex2f(-1,1);
  glVertex2f(-1,-1);
  glVertex2f(1,-1);
  glEnd();

  glColor3f(244/255.0,209/255.0,33/255.0);
  glBegin(GL_POLYGON);
      glVertex2f((45-100)/100.0, -(134-100)/100.0 );
      glVertex2f((36-100)/100.0, -(171-100)/100.0);
      glVertex2f((108-100)/100.0, -(179-100)/100.0);
      glVertex2f((104-100)/100.0, -(117-100)/100.0);
  glEnd();
  glutSwapBuffers();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
}

2-3
#include <GL/glut.h>
#include <math.h>
void myCircle(float r, float x, float y)
{

  glBegin(GL_POLYGON);
  for(float a =0; a< 2*3.141592653589793238462632383279; a+=0.01){
     glVertex2f( r*cos(a)+x, r*sin(a)+y);
  }
  glEnd();
}
void display()
{
    glColor3f(1,0,1); myCircle(0.6,0,0);
    glColor3f(1,0,0); myCircle(0.3,0.5,0.5);
    glColor3f(0,1,0); myCircle(0.3,-0.5,0.5);
    glColor3f(1,1,0); myCircle(0.3,-0.5,-0.5);
    glColor3f(0,0,1); myCircle(0.3,0.5,-0.5);


  glutSwapBuffers();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
}


沒有留言:

張貼留言