opengl计算机图形学实验报告之3D漫游世界.doc

北师大珠海分校信息技术学院计算机图形学实验报告实验报告文件命名方式学号姓名_实验序号_实验名称.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”键,可实现视点前后移动(直走前进倒退);(此时应该视点与目标点的距离保持不变,且视线方向保持不变)2、按键盘的”A”,”D”键,可实现视点左右旋转左看右看;(此时应该视点固定,目标点围绕视点旋转,视点与目标点的距离仍然保持不变)3. 视点左右旋转一定角度后,再按键盘的”W”,”S”键仍可实现视线直走,即沿着旋转后的视线方向行走。4. 程序修改后观看效果,并用键盘验证。在实验报告中写出 前后直走 和左转右转的关键点和核心代码。向前走和后退时此时应该视点与目标点的距离保持不变,且视线方向保持不变)视点左右旋转左看右看时,此时应该视点固定,目标点围绕视点旋转,视点与目标点的距离仍然保持不变void mykeyboardunsigned char key, int x, int y重点在于视点和目标点的变化Y坐标不变化 switchkey case Wcase w 向前直走your code Hereeyexeyex-step*sinangle*PI/180.0;eyezeyez-step*cosangle*PI/180.0;atxatx-step*sinangle*PI/180.0;atzatz-step*cosangle*PI/180.0;break;case Scase s向后退your code Hereeyexeyexstep*sinangle*PI/180.0;eyezeyezstep*cosangle*PI/180.0;atxatxstep*sinangle*PI/180.0;atzatzstep*cosangle*PI/180.0;break;case Acase a左看your code Hereangle1;atxeyex-r*sinangle*PI/180.0;atzeyez-r*cosangle*PI/180.0;break;case Dcase d右看your code Hereangle-1;atxeyex-r*sinangle*PI/180.0;atzeyez-r*cosangle*PI/180.0;break; glutPostRedisplay;参数修改后调用重画函数,屏幕图形将发生改变5. 如果圆环中心要加一个不断自转的茶壶,代码如何如何实现效果截图,核心代码贴到实验报告中。 glPushMatrix;glColor3f0,0,1;glTranslatef0,0,0;glRotateftheta,1,0,0;glTranslatef0,0,0; glutWireTeapot30; 线框模式glPopMatrix;添加在void drawsphere中的最后6 修改场景,在场景既定的位置增加自己想要的3D物体,效果截图,核心代码贴到实验报告中。 void drawspherefloat tr;trouter3*inner;glRotateftheta,0,1,0;glPushMatrix;glPushMatrix;glColor3f1.0,0,0; glRotatef90,1,0,0;glutWireTorusinner,outer,30,50; glPopMatrix;glPushMatrix;glColor3f1.0,1,0; glRotatef45,1,0,0;glutWireTorusinner,outer-40,30,50; glPopMatrix;glPushMatrix;glColor3f0,1,0.5; glRotatef-45,1,0,0;glutWireTorusinner,outer-60,30,50; glPopMatrix;glPushMatrix;glColor3f1.0,0,1.0;glutWireTorusinner-20,outer-20,30,50; glPopMatrix;glPushMatrix; 小球绕outer点转,其实是xouter这条相对于Y的轴glTranslatefouter,0,0;glRotateftheta,0,1,0;glTranslatef-outer,0,0;glPushMatrix; 画小球,绕x轴转 glTranslateftr,0,0;glRotatef-45,1,0,0;glColor3f0.0,1.0,0;glutSolidIcosahedron;glPopMatrix;glPopMatrix;glPopMatrix; glPushMatrix;glColor3f0,0,1;glTranslatef0,0,0;glRotateftheta,1,0,0;glTranslatef0,0,0; glutWireTeapot30; 线框模式glPopMatrix;glPushMatrix;glColor3f0,0,1;glTranslatef0,0,0;glRotateftheta,1,0,0;glTranslatef0,0,0;glScalef10,10,10;glutWireSphereinner,20,20;glPopMatrix;四、思考题1、透视投影函数中远裁剪平面离相机的距离在本例中为何设为2*outer8*inner250 有何依据gluPerspective90,w/h,10,2*outer8*inner250;远裁剪平面离相机视点的距离为2*outer8*inner250,而souter4*inner50; 远裁剪平面到视点的距离,至少比眼睛到目标点的距离2倍大,这样才能使物体在旋转过程中都在整个窗口中显示。2 如果用鼠标移动(鼠标坐标为二维坐标)来进行左右上下拖拽整个场景(三维世界坐标),程序又如何修改如果这个场景是二维的,将z轴有关j的设定都改为y轴。3 在此基础上再实现镜头的放大缩小,俯视等,程序应该如何修改不会做实验课完成程度与表现自我评价比例20这次实验内容不是很多,内容也不是很难,很有趣,尤其是按a或d绕一个方向不停地转,到出现空白,再出现。其实还可以设置如按1键自上从下看,按2键自前向后看,按3键自右向右看。都是可以通过改变视点的值来设定。实验的体会、收获与建议(结论)比例30这次实验完成的也很快,学会了3D场景的设置,这样就可以做3D游戏了。虽然简单的做场景学会了,但是有难度的在后面。就如附加题添加一个机器人,可以随着按键向前向后走,向左向右看,我就想是不是应该添加眼睛。2D作业刚刚结束,3D大作业又来了,任务不轻呀。评阅教师特殊评语评阅教师 日 期

计算机图形Opengl的实验报告,opengl计算机图形学实验报告之3D漫游世界.doc相关推荐

  1. 计算机图形学实验报告 裁剪,计算机图形学-实验报告三-图形裁剪算法

    <计算机图形学-实验报告三-图形裁剪算法>由会员分享,可在线阅读,更多相关<计算机图形学-实验报告三-图形裁剪算法(9页珍藏版)>请在人人文库网上搜索. 1.图形裁剪算法1. ...

  2. 计算机组成原理实验报告西华大学,计算机组成原理实验报告算术逻辑运算单元实验...

    <计算机组成原理实验报告算术逻辑运算单元实验>由会员分享,可在线阅读,更多相关<计算机组成原理实验报告算术逻辑运算单元实验(6页珍藏版)>请在人人文库网上搜索. 1.西华大学数 ...

  3. 北航计算机控制系统实验报告,北航计算机控制系统实验报告教程.doc

    北航计算机控制系统实验报告教程 计算机控制系统实 验 报 告 实验一 模拟式小功率随动系统的实验调试实验二 A/D.D/A接口的使用和数据采集实验三 中断及采样周期的调试实验四 计算机控制系统的实验调 ...

  4. 计算机大机实验报告,大学计算机一实验报告二大学算机一实验报告二大学计算机一实验报告二大学计算机一实验报告二.doc...

    大学计算机一实验报告二大学算机一实验报告二大学计算机一实验报告二大学计算机一实验报告二 广东金融学院实验报告 课程名称:大学计算机Ⅰ 实验编号 及实验名称实验二中文Word 2010 实验系 别姓 名 ...

  5. 计算机实验报告要求,计算机上机实验内容及实验报告要求

    一.<软件技术基础>上机实验内容 1.顺序表的建立.插入.删除. 2.带头结点的单链表的建立(用尾插法).插入.删除. 二.提交到个人10m硬盘空间的内容及截止时间 1.分别建立二个文件夹 ...

  6. 大学计算机基础知识实验报告,大学计算机基础实验实验报告

    大学计算机基础实验实验报告 课程:大学计算机基础         班级 : *****          学号:**       姓名:*** 组别:        同组者姓名:           ...

  7. 计算机会计学实验报告,最新计算机会计学实验报告-10本.doc

    最新计算机会计学实验报告-10本 学 生 实 验 报 告 课程名称计算机会计实验成绩实验项目名称会计软件应用(用友U8)批阅教师实验者王秀君学号20510711133专业班级会计1111实验日期201 ...

  8. 北航计算机控制系统实验报告,北航计算机控制系统实验报告.doc

    北航计算机控制系统实验报告课案 计算机控制系统 实 验 报 告 实验一 模拟式小功率随动系统的实验调试 实验二 A/D.D/A接口的使用和数据采集 实验三 中断及采样周期的调试 实验四 计算机控制系统 ...

  9. 北航计算机控制系统实验报告,北航计算机控制系统实验报告..doc

    北航计算机控制系统实验报告. 计算机控制系统 实 验 报 告 实验一 模拟式小功率随动系统的实验调试 实验二 A/D.D/A接口的使用和数据采集 实验三 中断及采样周期的调试 实验四 计算机控制系统的 ...

最新文章

  1. string :操作总结
  2. SNMP之管理信息库
  3. 《C和指针》读书笔记 第5章-操作符和表达式
  4. C++设计模式之适配器模式
  5. 自己写的一个报表,研究SAP CRM ibase保存问题
  6. Spring Boot + Security + Thymeleaf + Activiti 快速开发平台项目
  7. 【DS】atoi()实现
  8. python实例化次数怎么算_关于python多次实例化
  9. 中国传媒大学公开课:理解人类传播
  10. Android商品详情页上拉查看详情
  11. 滤波器原理及其作用计算机网络,滤波器的原理与作用
  12. 图像处理基本方法-python语言生成纯色BMP文件
  13. 怎么知道网站是否被黑 服务器是否被入侵呢
  14. 服务器系统如何截图,电脑截图的快捷键是什么,小编告诉你电脑怎么截图
  15. win10系统更新后C盘逐渐变小解决方法
  16. 2019软考备战:软考中级课程+参考资料
  17. pillow之new和paste
  18. UML 之 UML中的关系
  19. python创建目录(文件夹)
  20. JVM学习笔记之四 四种引用和垃圾回收的两次标记

热门文章

  1. electron demo项目npm install安装失败解决办法
  2. Ajax接收并展示后台传来的list集合内的数据信息
  3. ESP8266使用红外VS1838接收红外信号
  4. C++编写万年历,公元后日历程序,考虑了1582年前后以及该年的特殊情况。
  5. python error2_python解决方案:WindowsError: [Error 2]
  6. tp5 验证码不显示
  7. 【字体风格迁移】Multi-Content GAN for Few-Shot Font Style Transfer
  8. C++中的std::initializer_list详解
  9. 机器人softmove_ABB机器人的各种选项
  10. 【收藏】FAT文件系统原理——MBR(主引导记录