版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北方工业大学 计算机图形学课程实验报告题 目:实验五 曲线曲面学 院:计算机学院专 业:数字媒体技术指导教师:蔡兴泉学生班级:学生学号:学生姓名:教师评定:实验报告5 曲线曲面一实验目的1熟悉OpenGL图形库;2掌握曲线曲面实现算法。二实验环境1软件环境:操作系统:WinXp应用软件:VC6.0,OpenGL2硬件环境(查看自己的机子)CPU: Intel PIV 2.80GHz内存RAM: 1GB 显卡:NVIDIA GeForce7650,256M显存三实验内容1. 写程序实现Bezier曲线2. 写程序实现绘制3个半径不同、颜色不同的小球3. 写程序实现一个场景,绘制1个立方体、1个圆
2、锥、1个圆柱、1个茶壶四程序及结果1. Bezier曲线实现关键程序及注释void RenderScene(void) int i; glClear(GL_COLOR_BUFFER_BIT) /设置贝塞尔曲线 glMap1f(GL_MAP1_VERTEX_3, /生成的数据类型 0.0f,/u值的下界 100.0f,/ /u值的上界 3,/顶点在数据中的间隔,x,y,z所以间隔是3 nNumPoints,/u方向上的阶,即控制点的个数 &ctrlPoints00);/指向控制点数据的指针 glEnable(GL_MAP1_VERTEX_3);/ /必须在绘制顶点之前开启glBegin(GL_L
3、INE_STRIP); /使用画线的方式来连接点for(i = 0; i = 100; i+)glEvalCoord1f(GLfloat) i); /求的点坐标 glEnd(); DrawPoints();/画点 glutSwapBuffers();/ /交换两个缓冲区指针 2. 小球绘制实现关键程序及注释void RenderScene(void) GLUquadricObj *pObj;/ 定义Quadric Object glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);/清屏 glPushMatrix();/矩阵状态 glTransl
4、atef(0.0f, -1.0f, -5.0f); glRotatef(xRot, 1.0f, 0.0f, 0.0f);/ glRotatef(yRot, 0.0f, 1.0f, 0.0f); pObj = gluNewQuadric();/创建一个新的二次曲面状态对象 gluQuadricNormals(pObj, GLU_SMOOTH);/ glPushMatrix(); glColor3f(1.0f, 1.0f, 1.0f); /定义颜色为白 glTranslatef(0.0f, 1.0f, 0.0f);/圆心坐标gluSphere(pObj, .3f, 26, 13); / 绘制小球半
5、径为0.3 glPopMatrix();glPushMatrix(); glColor3f(1.0f, 0.0f, 0.0f);/定义颜色为红glTranslatef(0.0f, 0.0f, 0.0f); / 圆心坐标 gluSphere(pObj, .5f, 26, 13);/绘制小球半径为0.5 glPopMatrix();/glPushMatrix();/ glColor3f(0.0f, 0.0f, 0.0f);/ 定义颜色为黑glTranslatef(0.0f, 2.0f, 0.0f); / 圆心坐标 gluSphere(pObj, 0.2f, 26, 13);/ 绘制小球半径为0.2
6、 glPopMatrix(); glPopMatrix();/恢复矩阵状态 glutSwapBuffers();/交换缓冲3. 场景绘制实现关键程序及注释void RenderScene(void) GLUquadricObj *pObj;/ 定义Quadric Object glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);/清屏 glPushMatrix();/保存矩阵 glTranslatef(0.0f, -1.0f, -5.0f); glRotatef(xRot, 1.0f, 0.0f, 0.0f); glRotatef(yRot,
7、0.0f, 1.0f, 0.0f); pObj = gluNewQuadric();/创建一个新的二次曲面状态对象 gluQuadricNormals(pObj, GLU_SMOOTH); /绘制正方体 glBegin(GL_QUADS); /顶面 glNormal3f(0.0f,1.0f,0.0f); glVertex3f(0.5f,0.5f,0.5f); glVertex3f(0.5f,0.5f,-0.5f); glVertex3f(-0.5f,0.5f,-0.5f); glVertex3f(-0.5f,0.5f,0.5f); glEnd(); glBegin(GL_QUADS); /底面
8、 glNormal3f(0.0f,-1.0f,0.0f); glVertex3f(0.5f,-0.5f,0.5f); glVertex3f(-0.5f,-0.5f,0.5f); glVertex3f(-0.5f,-0.5f,-0.5f); glVertex3f(0.5f,-0.5f,-0.5f); glEnd(); glBegin(GL_QUADS); /前面 glNormal3f(0.0f,0.0f,1.0f); glVertex3f(0.5f,0.5f,0.5f); glVertex3f(-0.5f,0.5f,0.5f); glVertex3f(-0.5f,-0.5f,0.5f); glV
9、ertex3f(0.5f,-0.5f,0.5f); glEnd(); glBegin(GL_QUADS); /背面 glNormal3f(0.0f,0.0f,-1.0f); glVertex3f(0.5f,0.5f,-0.5f); glVertex3f(0.5f,-0.5f,-0.5f); glVertex3f(-0.5f,-0.5f,-0.5f); glVertex3f(-0.5f,0.5f,-0.5f); glEnd(); glBegin(GL_QUADS); /左面 glNormal3f(-1.0f,0.0f,0.0f); glVertex3f(-0.5f,0.5f,0.5f); glV
10、ertex3f(-0.5f,0.5f,-0.5f); glVertex3f(-0.5f,-0.5f,-0.5f); glVertex3f(-0.5f,-0.5f,0.5f); glEnd(); glBegin(GL_QUADS); /右面 glNormal3f(1.0f,0.0f,0.0f); glVertex3f(0.5f,0.5f,0.5f); glVertex3f(0.5f,-0.5f,0.5f); glVertex3f(0.5f,-0.5f,-0.5f); glVertex3f(0.5f,0.5f,-0.5f); glEnd(); /绘制圆锥 glPushMatrix(); glCol
11、or3f(1.0f, 0.6f, 0.3f); glTranslatef(0.0f, 0.5f, 0.0f);glRotatef(-90.0f, 1.0f, 0.0f, 0.0f); gluCylinder(pObj, 0.18f, 0.0f, 0.3f, 26, 13); glPopMatrix(); / 绘制圆柱 glPushMatrix(); glColor3f(0.0f, 0.0f, 0.0f); glTranslatef(0.0f, 1.3f, 0.0f); glRotatef(-90.0f, 1.0f, 0.0f, 0.0f); gluCylinder(pObj, 0.17f, 0
12、.17f, 0.4f, 26, 13); glDisable(GL_CULL_FACE); gluDisk(pObj, 0.28f, 0.28f, 26, 13); glTranslatef(0.0f, 0.0f, 0.40f); gluDisk(pObj, 0.0f, 0.17f, 26, 13); glPopMatrix();/绘制/茶壶 glPushMatrix();glColor3f(0.0f, 1.0f, 1.0f); glTranslatef(0.0f, 1.0f, 0.0f); glutSolidTeapot(0.25f); glPopMatrix(); glPopMatrix();/ glutSwapBuffers();/交换缓冲 五实验收获通过这次实验,我熟悉了OpenGL图形库,掌握了曲线曲面的算法,.掌握了了 Bezie
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030全球与中国Y型分支接头市场现状及未来发展趋势
- 2024年水利工程行业技能考试-水工维护专业安规笔试参考题库含答案
- 2024年机械制造行业技能考试-装配钳工笔试参考题库含答案
- 2024届福建省福州市高三下学期4月末质量检测(三模)地理试题(无答案)
- 特种用途钢丝及钢丝绳项目市场研究报告及运营管理方案|瑞克咨询|2024年编|
- 2024年服务行业技能考试-用电客户受理员笔试参考题库含答案
- 2024年政策法规政治建设知识竞赛-“两基”知识竞赛笔试参考题库含答案
- 2024年心理咨询师考试-心理咨询师(二级)笔试参考题库含答案
- 2024年广西住院医师-广西住院医师放射肿瘤科笔试参考题库含答案
- 2024年安徽住院医师-安徽住院医师口腔正畸科笔试参考题库含答案
- 2023汽车维修自带配件免责协议书
- HCIA-AI练习测试题及答案
- (完整版)2023年护士资格考试真题及答案
- 国家开放大学《会计信息系统》形考任务1-4参考答案
- Unit1 What's the matter?SectionA 1a-2c 说课稿 2022-2023学年人教版八年级英语下册
- 国家重点专科临床护理专业评选标准
- 自身免疫性胃炎的基本知识宣教
- 2022年惠州市惠城区招聘硕博士研究生考试真题
- 计算机科学与技术-基于JavaEE开发的捷优享在线教育网
- 乳头状甲状腺癌中的代谢异常与肿瘤生长关系研究
- 基于旅客排队行为的铁路车站售票窗口仿真
评论
0/150
提交评论