// рисуем одну ось единичного переключателя - вытянутую сферу

glPushMatrixO:
glScaled(0.2.0.2.1.0):
g 1 utSol1dSphereC1.15.15):
glPopMatrixO:
glPushMatrixO:

glTranslated(0.0.1.2): // ball on one end // шарик на одном конце

g!utSolidSphere(0.2.15.15):
glTranslated(0.0. -2.4):
glutSolidSphere(Q.2.15.15)://ball on the other end gl PopMatrixO:
}

5.6. Рисование трехмерных сцен с применением OpenGL

//«««««<«««« jack »»»»»»»»»»
void jackO
{

// draw a unit jack out of spheroids // рисуем единичный переключатель из сфероидов glPushMatrixC):

jackPartO:
glRotated(90.0. 0. 1. 0): jackPartO:
glRotatedOO.O, 1.0.0); jackPartO: glPopMatrixO;
}
//«««<«««««««« table »»»»»»»»»»
void table(double topWid. double topThick. double legThick. double legLen)
{

// draw the table - a top and four legs // рисуем стол - столешницу и четыре ножки glPushMatrixC);

// draw the table top // рисуем столешницу

glTranslatedCO. legLen. 0):
glScaledCtopwid. topThick. topWid):
glutSolidCube(l.O):
glPopMatrixO:
double dist = 0.95 * topWid/2.0 - legThick / 2.0:
glPushMatrixC):
glTranslatedCdist. 0. dist):
tableLegdegThick. legLen);
glTranslatedCO. 0. -2 * dist);
tableLegdegThick, legLen);
glTranslated(-2 * dist. 0. 2*dist):
tableLegdegThick. legLen):
glTranslatedCO. 0. -2*dist):
tableLegdegThick. legLen);
glPopMatrixO;
}
//«««««««««<« displaySolid »»»»»»»»»»»
void displaySolid(void)
{

// set properties of the surface material // задаем свойства материала поверхности

GLfloat mat_ambient[] = {0.7f,0.7f,0.7f,1.0f}:

// gray // серый

GLfloat mat_diffuse[] = {0.6f.0.6f,0.6f.l.0f}:
GLfloat mat_specular[] = {1.Of.1.Of.1.Of.1.Of}:
GLfloat mat_shininess[] = {50.Of};
glMateri alfv(GLJRONT.GL_AMBIENT.mat_ambi ent):

⇐ Предыдущая| |Следующая ⇒