




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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、实现顶点表及面片表相关数据
2、结构。e、绘制索引所要求的两个多边形。4实验分析,回答下列问题(1)算法流程图lineSegment(): NoYes No Yes ReadFile():noyesyesnononoyesyesnoyesnoyesyesnoyesnoyes(2)多边形绘制算法代码(包含完整注释)答:#include "windows.h"#include <iostream>#include <fstream>#define GLUT_DISABLE_ATEXIT_HACK#include "GL.h"#include "GLU.h&
3、quot;#include "GLUT.h"using 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
4、= 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:/学校学
5、习/计算机图形学/计算机图形学_实验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<=5
6、7)num = num * 10 + (int)ch-48; /计算顶点坐标值, 48对应0,57对应9if(ch=' ')if(num!=0)vi+ = num;/存入顶点坐标值 num = 0;elseif (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(&
7、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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 哈尔滨剑桥学院《税收筹划与管理》2023-2024学年第二学期期末试卷
- 科尔沁艺术职业学院《环境资源保护法》2023-2024学年第二学期期末试卷
- 重庆应用技术职业学院《电子商务基础与应用》2023-2024学年第二学期期末试卷
- 信阳农林学院《计算机专业英语》2023-2024学年第二学期期末试卷
- 内江职业技术学院《体育健身健美运动》2023-2024学年第二学期期末试卷
- 追梦的孩子课件
- 2025年江苏南京文天水利规划设计研究院有限公司招聘笔试参考题库含答案解析
- 2025年浙江省金华智尚人才开发有限公司招聘笔试参考题库附带答案详解
- 2025年陕西省技术进步投资有限责任公司招聘笔试参考题库附带答案详解
- 妇科病患者的健康教育
- GB/T 9126.2-2023管法兰用非金属平垫片第2部分:Class系列
- 统编版(部编版)语文小学二年级上册《植物妈妈有办法》课件(34张PPT)
- 小学五六年级女生青春期生理健康教育课件
- 液压系统原理课件 液压传动与控制
- 《习近平总书记关于安全生产重要论述》考试参考题库150题(含答案)
- 新疆民族发展史和宗教演变史课件
- 可口可乐OBPPC渠道营销促销原理
- TD-T 1056-2019 县级国土调查生产成本定额
- 小型搅拌机的设计说明书-毕业论文
- 职校招生宣传PPT
- 三星SHP-DP728指纹锁说明书
评论
0/150
提交评论