




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北师大珠海分校信息技术学院计算机图形学实验报告实验报告文件命名方式:学号姓名_实验序号_实验名称.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 mykeyboard(unsigned char key, int x, int y)/重点在于视点和目标点的变化Y坐标不变化 switch(key) case W:case w:/ 向前直走/your code Hereeyex=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 Hereeyex=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 Hereangle+=1;atx=eyex-r*sin(angle*PI/180.0);atz=eyez-r*cos(angle*PI/180.0);break;case D:case d:/右看/your code Hereangle-=1;atx=eyex-r*sin(angle*PI/180.0);atz=eyez-r*cos(angle*PI/180.0);break; glutPostRedisplay();/参数修改后调用重画函数,屏幕图形将发生改变5. 如果圆环中心要加一个不断自转的茶壶,代码如何如何实现?效果截图,核心代码贴到实验报告中。 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物体,效果截图,核心代码贴到实验报告中。 void drawsphere()float tr;tr=(outer+3*inner);glRotatef(theta,0,1,0);glPushMatrix();glPushMatrix();glColor3f(1.0,0,0); glRotatef(90,1,0,0);glutWireTorus(inner,outer,30,50); glPopMatrix();glPushMatrix();glColor3f(1.0,1,0); glRotatef(45,1,0,0);glutWireTorus(inner,outer-40,30,50); glPopMatrix();glPushMatrix();glColor3f(0,1,0.5); glRotatef(-45,1,0,0);glutWireTorus(inner,outer-60,30,50); glPopMatrix();glPushMatrix();glColor3f(1.0,0,1.0);glutWireTorus(inner-20,outer-20,30,50); glPopMatrix();glPushMatrix(); /小球绕outer点转,其实是x=outer这条相对于Y的轴glTranslatef(outer,0,0);glRotatef(theta,0,1,0);/glTranslatef(-outer,0,0);glPushMatrix(); /画小球,绕x轴转 glTranslatef(tr,0,0);glRotatef(-45,1,0,0);glColor3f(0.0,1.0,0);glutSolidIcosahedron();glPopMatrix();glPopMatrix();glPopMatrix(); / glPushMatrix();/glColor3f(0,0,1);/glTranslatef(0,0,0);/glRotatef(theta,1,0,0);/glTranslatef(0,0,0); / glutWireTeapot(30); /线框模式/glPopMatrix();glPushMatrix();glColor3f(0,0,1);glTranslatef(0,0,0);glRotatef(theta,1,0,0);/glTranslatef(0,0,0);glScalef(10,10,10);glutWireSphere(inner,20,20);glPopMatrix();四、思考题1、透视投影函数中远裁剪平面离相机的距离在本例中为何设为2*outer+8*inner+250? 有何依据?gluPerspective(90,w/h,10,2*outer+8*inner+250);远裁剪平面离相机(视点)的距离为2*outer+8*inner+250,而s=outer+4*inner+50; 远裁剪平面到视点的距离,至少比眼睛到目标点的距离2倍大,这样才能使物体在旋转过程中都在整个窗口中显示。2 如果用鼠标移动(鼠标坐标为二维坐标)来进行左右上下拖拽整个场景(三维世界坐标),程序又如何修改?如果这个场景是二维的,将z轴有关j的设定都改为y轴。3 在此基础上再实现镜头的放大缩小,俯视等,程序应该如何修改?不会做实验课完成程度与表现自我评价:比例:20%这次实验内容不是很多,内容也不是很难,很有趣,尤其是按a或d绕一个方向不停地转,到出现空白,再出现。其实还可以设置如按1键自上从下看,按2键自前向后看,按3键自右向右看。都是可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务品质持续提升保证函8篇
- 2025年福建省晋江晋文坊商业管理有限公司招聘4人模拟试卷及参考答案详解
- 垃圾分类推进管理承诺书7篇
- 2025湖南娄底市娄星区人民医院公开引进高层次医疗卫生专业技术人才15人模拟试卷(含答案详解)
- 2025贵阳市某企业招聘工作人员考前自测高频考点模拟试题附答案详解
- 2025年福建省龙岩市新罗区苏坂中心幼儿园招聘1人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025-2026学年湖北省十堰市茅箭区部分学校高一上学期开学英语试题(解析版)
- 2025广东中山市横栏镇纪检监察办公室招聘1人考前自测高频考点模拟试题及完整答案详解一套
- 节日活动的议论文(5篇)
- 供应链管理优化方案模板成本控制型
- 2024年南宁市招聘中小学教师笔试真题
- 养老院安全生产培训
- 老员工带新员工的培训制度
- 高标准农田建设项目风险评估与应对措施
- 水浒传每回内容梗概
- 人教版初中九年级全册英语单词表(完整版)
- 工地试验室安全培训内容
- 合同车辆质押合同
- 2024版数据中心基础设施运维与维保服务合同2篇
- 增材制造课件
- 部编版四年级语文上册习作《我的家人》精美课件
评论
0/150
提交评论