openGL构造教室(6)

2020-02-22 10:51

虚拟现实与数据可视化课程作业董元 22011207

}

}

glPopMatrix(); glPushMatrix();

glColor3f(1,1,0.45);//板凳腿四号

glTranslatef(-19.0f,-18.0f,-24.0f+i*17);//从原点平移 glScalef(0.5f,6.0f,0.5f);//将立方体变成长方体

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff1); glutSolidCube(1.0); glPopMatrix();

/***************函数名称:

DrawBlackboard****************************************************** ****************函数作用:绘制教室前方的黑板(可动黑板)****************************************/ void DrawBlackboard() {

glPushMatrix();//

黑板中二边框

26 / 40

//glBindTexture(GL_TEXTURE_2D,texture[0]); glNormal3f(-1.0f, 0.0f, 0.0f); glPushMatrix();

glColor3f(0,0,0);// 黑板左边框 glTranslatef(-35.7f,6.8f,-79.9f);//

glScalef(1.0f,34.0f,0.5f);//将立方体变成长方体

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff5); glutSolidCube(1.0); glPopMatrix(); glPushMatrix();//

黑板右边框

glTranslatef(35.7f,6.8f,-79.9f);//

glScalef(1.0f,34.0f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix(); glPushMatrix();//

黑板中一边框

glTranslatef(11.7f,6.8f,-79.9f);//

glScalef(1.0f,34.0f,1.1f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

虚拟现实与数据可视化课程作业董元 22011207

glTranslatef(-11.7f,6.8f,-79.9f);//

glScalef(1.0f,34.0f,1.1f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板下边框

glTranslatef(0.0f,-10.0f,-79.9f);//

glScalef(71.3f,0.5f,0.8f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板上边框

glTranslatef(0.0f,23.8f,-79.9f);//

glScalef(71.3f,0.5f,0.8f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

//---------------------最左边一组黑板(F5,F6控制上下)---------------------

glPushMatrix();

glColor3f(0.0664,0.2578,0.1211);// 黑板1号

27 / 40

glPushMatrix();//黑板1号下边框

glTranslatef(-23.5f,6.9f+blackboard1_y,-79.9f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板2号下边框

glTranslatef(-23.5f,-9.8f-blackboard1_y,-79.5f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板1号上边框

glTranslatef(-23.5f,23.7f+blackboard1_y,-79.9f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板2号上边框

glTranslatef(-23.5f,6.8f-blackboard1_y,-79.5f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

虚拟现实与数据可视化课程作业董元 22011207

glTranslatef(-23.5f,15.3f+blackboard1_y,-79.9f);// glScalef(24.0f,16.5f,0.3f);//将立方体变成长方体

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff3); glutSolidCube(1.0); glPopMatrix(); glPushMatrix();

// 黑板2号

glTranslatef(-23.5f,-1.3f-blackboard1_y,-79.5f);// glScalef(24.0f,16.5f,0.3f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

//---------------------最右边一组黑板(F9,F10控制)---------------------

glPushMatrix();

glColor3f(0.0664,0.2578,0.1211);// 黑板1号 glTranslatef(0.0f,15.3f+blackboard2_y,-79.9f);// glScalef(24.0f,16.5f,0.3f);//将立方体变成长方体

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff3);

28 / 40

glColor3f(0,0,0);

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff5); glPushMatrix();//黑板1号下边框

glTranslatef(0.0f,6.9f+blackboard2_y,-79.9f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板2号下边框

glTranslatef(0.0f,-9.8f-blackboard2_y,-79.5f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板1号上边框

glTranslatef(0.0f,23.7f+blackboard2_y,-79.9f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板2号上边框

glTranslatef(0.0f,6.8f-blackboard2_y,-79.5f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

虚拟现实与数据可视化课程作业董元 22011207

glutSolidCube(1.0); glPopMatrix(); glPushMatrix();

// 黑板2号

glTranslatef(0.0f,-1.3f-blackboard2_y,-79.5f);// glScalef(24.0f,16.5f,0.3f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

//---------------------中间一组黑板(F7,F8控制上下)--------------------- glColor3f(0,0,0);

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff5); glPushMatrix();//黑板1号下边框

glTranslatef(23.5f,6.9f+blackboard3_y,-79.9f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板2号下边框

glTranslatef(23.5f,-9.8f-blackboard3_y,-79.5f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板1号上边框

glTranslatef(23.5f,23.7f+blackboard3_y,-79.9f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

glPushMatrix();//黑板2号上边框

glTranslatef(23.5f,6.8f-blackboard3_y,-79.5f);// glScalef(24.0f,0.5f,0.5f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix(); glPushMatrix();

glColor3f(0.0664,0.2578,0.1211);// 黑板1号 glTranslatef(23.5f,15.3f+blackboard3_y,-79.9f);// glScalef(24.0f,16.5f,0.3f);//将立方体变成长方体

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff3); glutSolidCube(1.0); glPopMatrix();

29 / 40

虚拟现实与数据可视化课程作业董元 22011207

}

glPushMatrix(); // 黑板2号

glTranslatef(23.5f,-1.3f-blackboard3_y,-79.5f);// glScalef(24.0f,16.5f,0.3f);//将立方体变成长方体 glutSolidCube(1.0); glPopMatrix();

/***************函数名称:

DrawOtherThings****************************************************** ****************函数作用:绘制教室里的其他物体

**************************************************

****************绘制出的物体有:音响、投影仪、门窗、讲台、空调、天花板上的灯*********************/ void DrawOtherThings() {

glEnable(GL_TEXTURE_2D);//贴空调纹理 glBindTexture(GL_TEXTURE_2D,texture[2]); glBegin(GL_QUADS);

glNormal3f(-1.0f, 0.0f, 0.0f);

glTexCoord2f(0,1);glVertex3f( -49.9f, 10.0f, -65.9f); glTexCoord2f(1,1);glVertex3f( -34.9f, 10.0f, -65.9f);

30 / 40

glColor3f(1,1,1);//绘制音响 glPushMatrix();

glTranslatef(-45.0f,20.0f,-38.0);//

glScalef(3.5f,7.0f,3.5f);//将立方体变成长方体

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff4); glutSolidCube(0.8); glPopMatrix(); glPushMatrix();

glTranslatef(45.0f,20.0f,-38.0);//绘制音响 glScalef(3.5f,7.0f,3.5f);//将立方体变成长方体

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff4); glutSolidCube(0.8); glPopMatrix(); glPushMatrix();

glTranslatef(-43.0f,-10.0f,-70.0);//画空调 glScalef(20.0f,50.0f,8.0f);//将立方体变成长方体

glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff4); glutSolidCube(0.8); glPopMatrix();


openGL构造教室(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:品管基础知识测试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: