Could you illustrate with the below:
I have three cubes of the same dimension drawn counter clockwise say 2 units apart if one is movedand made to intersect the second how could i show the resultant area
glPushMatrix();
//Top of cube
glPushMatrix();
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueSurface);
glBegin(GL_POLYGON);
glNormal3d( 0.0, 0.1776, 0.0);
glVertex3d( 0.363, 0.0575, -0.1225);//FRIGHT
glVertex3d( -0.363, 0.0575, -0.1225);//FLEFT
glVertex3d( -0.363, 0.0575, 0.1225);//NLEFT
glVertex3d( 0.363, 0.0575, 0.1225);//NRIGHT
glEnd();
glPopMatrix();
//Front face of cube
glPushMatrix();
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueSurface);
glBegin(GL_POLYGON);
glNormal3d( 0.0, 0.0, 0.0);
glVertex3d( 0.363, -0.0575, 0.1225);//top right corner
glVertex3d(-0.363, -0.0575, 0.1225); //top left corner
glVertex3d(-0.363, -0.0575,0.1225); //bottom left corner
glVertex3d( 0.363, -0.0575,0.1225); //bottom right corner
glEnd();
glPopMatrix();
//horizontal right face
glPushMatrix();
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueSurface);
glBegin(GL_POLYGON);
glNormal3d( 0.02818, 0.0, 0.0);
glVertex3d( 0.363, 0.0575, -0.1225);//FTOP
glVertex3d( 0.363, 0.0575, 0.1225);//NTOP
glVertex3d( 0.363, -0.0575, 0.1225);//NBOTTOM
glVertex3d( 0.363, -0.0575, -0.1225);//FBOTTOM
glEnd();
glPopMatrix();
//Back face of cube
glPushMatrix();
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueSurface);
glBegin(GL_POLYGON);
glNormal3d( 0.0, 0.0, -0.083375);
glVertex3d( -0.363, 0.0575, -0.1225);//top left
glVertex3d( 0.363, 0.0575, -0.1225);//top right
glVertex3d( 0.363, -0.0575, -0.1225);//bottom right
glVertex3d( -0.363, -0.0575, -0.1225);//bottom left
glEnd();
glPopMatrix();
//horizontal left face
glPushMatrix();
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueSurface);
glBegin(GL_POLYGON);
glNormal3d( -0.028175, 0.0, 0.0);
glVertex3d( -0.363, 0.0575, 0.1225);//NTOP
glVertex3d( -0.363, 0.0575, -0.1225);//FTOP
glVertex3d( -0.363, -0.0575, -0.1225);//FBOTTOM
glVertex3d( -0.363, -0.0575, 0.1225);//NBOTTOM
glEnd();
glPopMatrix();
//Bottom face of cube
glPushMatrix();
glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, BlueSurface);
glBegin(GL_POLYGON);
glNormal3d( 0.0, -0.1776, 0.0);
glVertex3d( 0.363, -0.0575, 0.1225);//NRIGHT
glVertex3d( -0.363, -0.0575, 0.1225);//NLEFT
glVertex3d( -0.363, -0.0575, -0.1225);//FLEFT
glVertex3d( 0.363, -0.0575, -0.1225);//FRIGHT
glEnd();
glPopMatrix();
glPopMatrix();