void drawM(float colours1[], float colours2[]) { // //horizontal of M glPushMatrix(); glTranslatef(1.5,-0.2,0.0); glRotatef(270,0.0,0.0,1.0); //left vertical of M glPushMatrix(); glTranslatef(0.0,-0.6,0.0); //glRotatef(90,1.0,0.0,0.0); glScalef(0.5,2.1,0.5); cube(0,1,2,3,4,5,6,7,colours1,colours2); glPopMatrix(); //left vertical of M glPushMatrix(); glTranslatef(1.5,-0.6,0.0); //glRotatef(90,1.0,0.0,0.0); glScalef(0.5,2.1,0.5); cube(0,1,2,3,4,5,6,7,colours1,colours2); glPopMatrix(); //left vertical of M glPushMatrix(); glTranslatef(3.0,-0.6,0.0); //glRotatef(90,1.0,0.0,0.0); glScalef(0.5,2.1,0.5); cube(0,1,2,3,4,5,6,7,colours1,colours2); glPopMatrix(); //right curve of M glPushMatrix(); glTranslatef(2.3,0.3,0.0); //glRotatef(90,0.0,1.0,0.0); glScalef(0.5,0.5,0.5); draw3Dcurve (1.0, //depth 1.0, //inner radius 2.0, 0, //start angle 180, //stop angle 5.0,colours1,colours2); glPopMatrix(); //right curve of M glPushMatrix(); glTranslatef(0.7,0.3,0.0); //glRotatef(90,0.0,1.0,0.0); glScalef(0.5,0.5,0.5); draw3Dcurve (1.0, //depth 1.0, //inner radius 2.0, //outer radius 0, //start angle 180, //stop angle 5.0,colours1,colours2); glPopMatrix(); glPopMatrix(); }
void drawK(float colours1[], float colours2[]) { glPushMatrix(); glTranslatef(0.0,-1.5,0.0); //vertical of K glPushMatrix(); glTranslatef(0.0,-0.1,0.0); //glRotatef(90,1.0,0.0,0.0); glScalef(0.5,3.2,0.5); cube(0,1,2,3,4,5,6,7,colours1,colours2); glPopMatrix(); //curve of K glPushMatrix(); glTranslatef(1.4,-0.1,0.0); //glRotatef(270,0.0,0.0,1.0); //glScalef(0.0,0.0,0.0); draw3Dcurve (0.5, //depth 1.05, //inner radius 1.6, //outer radius 90.0, //start angle 270.0, //stop angle 5.0,colours1,colours2); glPopMatrix(); glPopMatrix(); }
void drawDShape(){ glPushMatrix(); glRotatef(-90,0,0,1); draw3Dcurve( 2, //depth 1, //inner radius 2, //outer radius 0, //start angle 180, //stop angle 1.0 //anular increments ); glPopMatrix(); glPushMatrix(); glTranslatef(-0.5,1.5,0); draw3DPipe(1,1,2); glPopMatrix(); glPushMatrix(); glTranslatef(-0.5,-1.5,0); draw3DPipe(1,1,2); glPopMatrix(); glPushMatrix(); glTranslatef(-1.5,0,0); draw3DPipe(4,1,2); glPopMatrix(); }
void drawJ(void){ static double theta_stop1 = 270; glPushMatrix(); glTranslatef(-0.76,0.5,0); //glRotatef(10,1,1,1); glRotatef(90,0,0,1); glScalef(0.5,0.5,0.5); draw3Dcurve (2.1, //depth 1.0, //inner radius 2.0, //outer radius 90.0, //start angle theta_stop1, //stop angle 5.0); //anular increments glPopMatrix(); glPushMatrix(); glTranslatef(0,2.76,0); glRotatef(-90,0,0,1); glScalef(0.5,2,1); cube(); glPopMatrix(); glPushMatrix(); glTranslatef(0,1.5,0); //glRotatef(-25,0,0,1); glScalef(0.5,2,1); cube(); glPopMatrix(); }
void drawR(float breatheRCurve,float breatheRDiag,float colours1[], float colours2[]) { //vertical of R glPushMatrix(); //glTranslatef(0.0,1.2,0.0); //glRotatef(90,0.0,0.0,1.0); glScalef(0.5,3.2,0.5); cube(0,1,2,3,4,5,6,7,colours1,colours2); glPopMatrix(); //straight diagonal of R glPushMatrix(); glTranslatef(0.7,-0.8,0.0); glRotatef(breatheRDiag,0.0,0.0,1.0); glScalef(0.5,2.0,0.5); cube(0,1,2,3,4,5,6,7,colours1,colours2); glPopMatrix(); //curve of R glPushMatrix(); glTranslatef(0.2,0.65,0.0); glRotatef(180,0.0,1.0,0.0); glScalef(breatheRCurve,1.0,1.0); draw3Dcurve (0.52, //depth 0.5, //inner radius 0.95, //outer radius 90.0, //start angle 270.0, //stop angle 5.0,colours1,colours2); glPopMatrix(); }
void drawC (int origin) { //Save Matrix from function call glPushMatrix() ; //Transformations for cube glTranslatef(-0.1,0.f,0.f) ; /*glRotatef(,,,) ;*/ glScalef(4.f,1.f,1.f) ; cube() ; //Restaure Matrix to function call, and save glPopMatrix() ; glPushMatrix() ; //Tranformations for the curve glTranslatef(-0.2,0.175,0.f) ; glRotatef(60.f,0.f,0.f,1.f) ; /*glScalef(,,) ;*/ draw3Dcurve(0.05,0.15,0.2,0.f,210.f,5.f) ; //Pop the function call Matrix glPopMatrix() ; if(origin) cube() ; }
void drawGShape(){ glPushMatrix(); glRotatef(50,0,0,1); draw3Dcurve( 2, //depth 1, //inner radius 2, //outer radius 0, //start angle 255, //stop angle 1.0 //anular increments ); glPopMatrix(); glPushMatrix(); glTranslatef(1,-1,0); draw3DPipe(2,1,2); glPopMatrix(); }
void drawB (int origin ) { //Save Matrix from function call glPushMatrix() ; //Translate to center of axe and save glTranslatef(0.f,0.075,0.f) ; glPushMatrix() ; //Tranformations for the cube glTranslatef(0.025,0.f,0.f) ; /*glRotatef(,,,) ;*/ glScalef(1.f,8.f,1.f) ; cube() ; //Restaure Matrix to center of cube, and save glPopMatrix() ; glPushMatrix() ; //Transformations for first curve glTranslatef(0.05,0.1,0.f) ; glRotatef(-90.f,0.f,0.f,1.f) ; glScalef(1.f,1.25,1.f) ; draw3Dcurve(0.05,0.05,0.1,0.f,180.f,5.f) ; //Restaure Matrix to center of cube, and save glPopMatrix() ; glPushMatrix() ; //Transformations for second curve glTranslatef(0.05,-0.075,0.f) ; glRotatef(-90.f,0.f,0.f,1.f) ; glScalef(1.f,1.25,1.f) ; draw3Dcurve(0.05,0.075,0.125,0.f,180.f,5.f) ; //Restaure Matrix to center then function call glPopMatrix() ; glPopMatrix() ; if(origin) cube() ; }