




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四 OpenGL多边形存储及绘制 序号: 姓名: 学号: 成绩 指导教师: 廖赟 1实验目的:基于OpenGL画点函数,读取box.obj文件中的顶点坐标,绘制多边形。2实验环境:(1)运行win7/win8/win10操作系统的PC一台(2)每台PC机安装VC+开发环境3实验步骤:a、读取box.obj中顶点信息,如下。b、其中行开头v 代表顶点,之后两个数字表示顶点坐标(X,Y),坐标原点(0,0)位于窗口左下角。c、其中行开头f代表多边形顶点索引,之后数字表示多边形顶点索引,索引下标从0开始,下标0表示顶点数据第一行,下标1表示顶点数据第二行,以此类推。d、实现顶点表及面片表相关数据结构。e、绘制索引所要求的两个多边形。4实验分析,回答下列问题(1)算法流程图lineSegment(): NoYes No Yes ReadFile():noyesyesnononoyesyesnoyesnoyesyesnoyesnoyes(2)多边形绘制算法代码(包含完整注释)答:#include windows.h#include #include #define GLUT_DISABLE_ATEXIT_HACK#include GL.h#include GLU.h#include GLUT.husing namespace std;int v100;int f1010;void init(void)glClearColor(1.0, 1.0, 1.0, 0.0); /设置窗口背景颜色为白色glMatrixMode(GL_PROJECTION); /设置投影参数gluOrtho2D(0.0, 400.0, 0.0, 450.0);void lineSegment(void)glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.0,0.0,0.0); /设置点颜色for(int y = 0,j = 1; fj0!=fj1; j+)for(;fjy+1 != fj0;y+) /第一个多边形glBegin(GL_LINES);glVertex2i(v2*fjy, v2*fjy+1);glVertex2i(v2*fjy+1, v2*fjy+1+1); glEnd();/第二个多边形glBegin(GL_LINES);glVertex2i(v2*fjy, v2*fjy+1);glVertex2i(v2*fj0, v2*fj0+1);glEnd();y=0;glFlush();void ReadFile()ifstream in;string file;in.open(E:/学校学习/计算机图形学/计算机图形学_实验4/box.obj);if(!in)printf(打开失败);char ch;int num = 0;int i = 0;bool isv = true; /为true存入数组vbool isf = false; /为true存入数组fint j = 0;int y = 0;while(!in.eof()in.read(&ch,1); /每次读取一个字节存在ch中if(ch=f)isv = false;j+;y = 0;if(isv)if (ch=48&ch=48&ch=57)num = num * 10 + (int)ch-48,isf = true; /计算顶点索引if(ch= )if(isf)fjy+ = num,isf = false; /存入顶点索引值num = 0;int main(int argc, CHAR* argv)glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /初始化窗口的显示模式glutInitWindowPosition(50, 100); /设置窗口的位置glutCreateWindow(line segment); /创建一个名为line segment的窗口ReadFile();init(); /完成窗口初始化glutDisplayFunc(lineSegment); /设置当前窗口的显示回调函数glutMainLoop(); /启动主GLUT事件处理循环return 0;(3)简述多边形机内表示形式?答:多边形在机内以数据表的形式表示。在输入每个多边形的信息时,数据放进一些表格中等待后续处理、显示和场景的对象管理。这些多边形数据表分成几何数据表和属性数据表。几何数据表存放顶点坐标和标识多边形面片空间方向的参数,属性数据表存放指定对象的透明度及其表面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑工地安全生产责任合同协议
- 18世纪英国工业革命时期的社会立法研究考核试卷
- 饮水管合同(标准版)
- 租大车合同(标准版)
- 湖北省广播电视局直属事业单位招聘考试真题2025
- DB3212-T 1186-2025 交通信息化工程交(竣)工文件编制规范
- 2025年湖北省公路水运工程施工企业安管人员考试(项目负责人B类)水路工程全真模拟试题及答案
- 重难点解析人教版八年级物理上册第5章透镜及其应用-凸透镜成像的规律同步训练练习题(解析版)
- 考点解析-人教版八年级物理上册第4章光现象同步练习练习题(解析版)
- 解析卷人教版八年级物理上册第5章透镜及其应用-透镜专题训练试题(详解)
- 国开电大《应用写作(汉语)》形考任务1-6答案
- 《电力勘测设计企业安全生产标准化实施规范》
- 企业地震安全教育培训
- 西安鸡蛋行业现状分析
- 柜子安装服务流程
- patran培训教材(有限元分析)
- 汽车设计-汽车 仪表板横梁设计规范模板
- 危急值的报告制度与流程
- 腾讯云大数据云平台TBDS 产品白皮书
- 《创新思维》考试复习题库(含答案)
- 口腔种植学 课件 口腔种植学导论-课件
评论
0/150
提交评论