- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学编程练习5虚拟跟踪球的实现.doc
计算机图形学编程练习5:虚拟跟踪球的实现
虚拟跟踪球
在实现计算机图形学程序进行三维观察时,常需要模拟跟踪球界面来控制观察,基本的想法就是利用鼠标的位置来控制旋转,其基本原理参见本学期指定教材的4.11节。
在本次作业中,输入的模型为正十二面体(Dodecahedron),具体定义参见:
HYPERLINK /wiki/Dodecahedron /wiki/Dodecahedron
其顶点的位置及其关系可以用下面的文件数据表示:
OFF
20 12 30
1.214124 0.000000 1.589309
0.375185 1.154701 1.589309
-0.982247 0.713644 1.589309
-0.982247 -0.713644 1.589309
0.375185 -1.154701 1.589309
1.964494 0.000000 0.375185
0.607062 1.868345 0.375185
-1.589309 1.154701 0.375185
-1.589309 -1.154701 0.375185
0.607062 -1.868345 0.375185
1.589309 1.154701 -0.375185
-0.607062 1.868345 -0.375185
-1.964494 0.000000 -0.375185
-0.607062 -1.868345 -0.375185
1.589309 -1.154701 -0.375185
0.982247 0.713644 -1.589309
-0.375185 1.154701 -1.589309
-1.214124 0.000000 -1.589309
-0.375185 -1.154701 -1.589309
0.982247 -0.713644 -1.589309
5 0 1 2 3 4
5 0 5 10 6 1
5 1 6 11 7 2
5 2 7 12 8 3
5 3 8 13 9 4
5 4 9 14 5 0
5 15 10 5 14 19
5 16 11 6 10 15
5 17 12 7 11 16
5 18 13 8 12 17
5 19 14 9 13 18
5 19 18 17 16 15
各行含义说明如下:
第一行:文件名
第二行:顶点个数 面个数 边个数
第三行~第二十二行:x, y, z(即每个顶点的三个坐标分量)
第二十三行~第三十四行:5, v1, v2, v3, v4, v5(即每个面的五个顶点的索引,重零开始)
作业要求
十二面体的数据组织方式不限;(请考虑什么样的方式较好?)
学会使用GLUT库+三维变换,包括以下内容:
GLUT如何初始化;
鼠标回调函数;
绘制回调函数;
多边形网格的绘制;
本次作业的具体要求:
实现十二面体的绘制,十二面体每个面的颜色不限(请自行定义);
实现虚拟跟踪球的功能,即通过鼠标左键控制旋转:按下鼠标左键,移动鼠标,然后放开左键,来模拟实现物体旋转;通过鼠标右键控制平移:按下鼠标右键,移动鼠标,然后放开右键,来实现物体平移操作;
实现动态菜单:用户可选的绘制方式,一种方式为多边体面绘制,另外一种方式为线框图;
文档评论(0)