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();
}   
Example #3
0
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();
		
}
Example #4
0
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();
}   
Example #6
0
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() ;
}
Example #7
0
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();
}
Example #8
0
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() ;
}