- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
opengl计算机图形学实验报告之D漫游世界
北师大珠海分校信息技术学院
计算机图形学实验报告
实验报告文件命名方式:学号姓名_实验序号_实验名称.doc
姓名 学号 1001010092 专业 计算机 任课教师 黄静 实验教师 黄静 评阅教师 黄静 实验地点 丽泽C304-1 书写日期 2012.11.27 实验课时间 2012.11.26 实验得分 实验序号与名称:实验10交互的3D漫游世界 实验目的: 1) 进一步掌握3D编程概念:
2)主要掌握视点和目标的改变对场景生成的影响
3)掌握3D漫游场景的基本技巧
实验开发环境: 硬件要求:
PC机,主流配置,最好为独立显卡,显存512M以上。
软件环境:
操作系统:Windows XP。
语言开发工具:Microsoft Visual studio 2008,Visual C++。
并安装OpenGL图形函数库 实验要求: 1.当场检查,计现场分
2.实验所有步骤所生成的效果截图拷贝到实验报告文档里备查,并附上相应的代码。 WORD文档命名方式:学号姓名-实验序号-实验名称。 实验内容与步骤小结、主要截图、核心代码实现: 比例:50% 附属程序rotating_torus.cpp为一视点保持不变的3D旋转程序,3D场景为一个圆环、一个小球和一个以四边形为基本单位的方块墙包围盒,且小球和圆环在“方块墙”的包围盒中。视点设在正前方观察物体,小球绕着环心某处不停旋转,并和圆环一起绕着环心不停旋转。
添加键盘响应函数,使得:
1、按键盘的”W”,”S”键,可实现视点前后移动(直走:前进倒退)”A”,”D”键,可实现视点左右旋转(左看右看);(此时应该视点固定,目标点围绕视点旋转,视点与目标点的距离仍然保持不变)
3. 视点左右旋转一定角度后,再按键盘的”W”,”S”键仍可实现视线直走,即沿着旋转后的视线方向行走。
4. 程序修改后观看效果,并用键盘验证。在实验报告中写出 前后直走 和左转右转的关键点和核心代码。
向前走和后退时此时应该视点与目标点的距离保持不变,且视线方向保持不变)
视点左右旋转(左看右看)时,此时应该视点固定,目标点围绕视点旋转,视点与目标点的距离仍然保持不变
void mykeyboard(unsigned char key, int x, int y)//重点在于视点和目标点的变化Y坐标不变化
{
switch(key)
{ case W:
case w:// 向前直走
//your code Here
eyex=eyex-step*sin(angle*PI/180.0);
eyez=eyez-step*cos(angle*PI/180.0);
atx=atx-step*sin(angle*PI/180.0);
atz=atz-step*cos(angle*PI/180.0);
break;
case S:
case s://向后退
//your code Here
eyex=eyex+step*sin(angle*PI/180.0);
eyez=eyez+step*cos(angle*PI/180.0);
atx=atx+step*sin(angle*PI/180.0);
atz=atz+step*cos(angle*PI/180.0);
break;
case A:
case a://左看
//your code Here
angle+=1;
atx=eyex-r*sin(angle*PI/180.0);
atz=eyez-r*cos(angle*PI/180.0);
break;
case D:
case d://右看
//your code Here
angle-=1;
atx=eyex-r*sin(angle*PI/180.0);
atz=eyez-r*cos(angle*PI/180.0);
break;
}
glutPostRedisplay();//参数修改后调用重画函数,屏幕图形将发生改变
}
glPushMatrix();
glColor3f(0,0,1);
glTranslatef(0,0,0);
glRotatef(theta,1,0,0);//
glTranslatef(0,0,0);
glutWireTeapot(30); //线框模式
glPopMatrix();
添加在void drawsphere()中的最后
6 修改场景,在场景既定的位置增加自己想要的3D物体,效果截图,核心代码贴到实验报告中。
vo
您可能关注的文档
最近下载
- 06_行政处罚的概念与基本原则、行政处罚的种类、行政处罚的设定.docx VIP
- 万科广场商户装修手册.pdf VIP
- GB∕T 22081-2024《GB∕T 22081-2024《网络安全技术 信息安全控制》之1:“5组织控制-5.1信息安全策略”专业深度解读和应用指导材料(雷泽佳编制-2025A0).pdf VIP
- JG∕T 302-2022 卷帘门窗 JG∕T 302-2022 卷帘门窗.pdf
- GB_T 15558.1-2023 燃气用埋地聚乙烯(PE)管道系统 第1部分:总则.pdf VIP
- 10万吨年精制湿法磷酸项目.pdf VIP
- 事业单位专业技术人员竞聘上岗实施方案篇 .pdf VIP
- 行政法与行政诉讼法 行政处罚的基本原则 行政处罚的基本原则.ppt VIP
- 初中物理电磁练习题.doc VIP
- 地基与基础分部工程验收会议纪要.pdf VIP
文档评论(0)