多边形的世界 实验报告.pdfVIP

  • 8
  • 0
  • 约9.46千字
  • 约 15页
  • 2017-05-21 发布于浙江
  • 举报
多边形的世界 实验报告

图形学实验二实验报告 一.实验名称: 多边形的世界 二.实验目的 1.掌握可交互的OpenGL应用程序的开发设计的方法。 2.掌握系统处理鼠标和键盘事件的编程方法。 3. 掌握OpenGL 中的拾取机制。 三.实验环境 硬件环境:P4 CPU 2.0 以上PC机,512M 以上内存。 软件环境:Windows XP,Visual C++ 6.0,OpenGL 图形软件包, GLUT开发包。 四.实验内容和要求: 编写一个可以交互的OpenGL应用程序,支持用户利用鼠标创建和 删除二维多边形对象。 基本功能包括: 1 对象创建:支持用户利用鼠标指定各个顶点位置,创建多边 形。 2 对象删除:支持用户选择一个多边形(与你的多边形保存的 数据结构有关)并删除。 3 对象存储:设计一种数据结构存储每个多边形的顶点与边, 支持文件存盘,。 1 提示:由于删除操作需要多边形的选择机制,你可以在设计数据 结构时,把可以帮助你 完成选择的信息一起保存。 扩展功能可以包括(至少选择其一): 1. 支持用户选择多边形的颜色 2. 支持用户移动多边形 3. 支持用户改变多边形单个顶点的位置 4. 支持3D多边形 5. 其他(需要通过指导老师认可) 完成一份实验报告,说明你的对象存储与对象选择方法,或者你 所实现的一个扩展功能。 五.实现的功能(其中绿色的为必须实现的功能,其他则为拓展功能) 1. 对象创建:支持用户利用鼠标指定各个顶点位置,创建多边 形。(点击鼠标右键创建一个多边形); 2. 支持用户改变多边形单个顶点的位置:绘制完成后,点击鼠 标左键,可以改变多边形的单个顶点的位置; 3. 对象存储:设计一种数据结构存储每个多边形的顶点与边, 支持文件存盘。(点击鼠标右键存储多边形); 4. 支持键盘移动多边形:通过键盘上面的 “上下左右”按键,移 动多边形; 5. 支持清空屏幕:点击鼠标右键,重新绘制。或者按键盘 ‘a ’; 6. 打开存储的多边形:点击鼠标右键,打开多边形; 2 7. 支持用户选择多边形的颜色:点击右键,改变颜色; 8. 可以填充或者用线条绘制多边形:点击右键,填充颜色或者线 条绘制; 9. 支持绘制多个多边形:点击鼠标右键,绘制一个多边形; 10. 对象删除:支持用户选择一个多边形(与你的多边形保存的 数据结构有关)并删除。(点击鼠标右键,删除多边形,选择一个多 边形点击鼠标中键); 七.实验步骤和操作 7.1 确定多边形的数据结构 struct Polygon{ int vertexs; //顶点数 int pointx[max]; int pointy[max]; bool fill; //是否需要填充 bool complete; //是否已经绘制完成 bool selected; //是否被选中 float red,green,blue; //颜色值 bool del; //是否已经被删除 }; 7.2 鼠标左键点击,绘制多边形 switch(button) { case GLUT_LEFT_BUTTON: 3 if(state==GLUT_DOWN) { //用线条绘制图形 if((!polygon[choose].complete)polygon[choose].selected) { //polygon[choose].complete=0; glColor3f(polygon[choose].red,polygon[choose].green,poly gon[choose].blue); glPolygonMode(GL_F

文档评论(0)

1亿VIP精品文档

相关文档