计算机图形学二维弹球实验报告
更新时间:2023-09-11 12:01:01 阅读量: 教育文库 文档下载
计算机图形学实验报告
实验一、 二维弹球游戏设计 一、实验目的与基本要求:
(1)掌握在VS2010或以上版本环境下如何配置OpenGL环境的方法; (2)熟悉OpenGL应用程序基本架构;
(3)培养良好的编程习惯和风格,学习撰写实验报告; (4)学习交互式游戏设计;
(5)通过小球移动、反弹、击中等功能实现学习二维几何的基本运算; (6)菜单的使用。
二、实验设备(环境)及要求
1. 操作系统:Windows XP 或 Windows 7
2. 编程环境:Microsoft Visual Studio 2010,OpenGL 库函数 3. 界面框架:Win32,MFC,QT选择其中一种
三、实验内容与步骤
实验分为以下几个步骤:
1.绘制游戏界面和基础物体(小球、挡板) 2.实现小球的发射及方向的控制
3.实现小球与墙壁和挡板、挡板与墙壁的碰撞算法 4.实现键盘控制的挡板移动
5.菜单游戏介绍及难度等级的选择 附加功能:
1.砖块的绘制和与小球的碰撞 2.砖块的消失
3.文字标识的游戏的输赢
4.增加了小球的生命数以及血量条
5.增加了背景图案的变化和背景颜色的切换
四、实现过程说明及成果展示:
1.绘制游戏界面和基础物体(小球、挡板)
游戏界面的绘制使用画面单位的长和宽与画面比例相乘得到 小球的绘制和挡板的绘制函数为
运用了
2.实现小球的发射和方向控制
小球的初始方向设置为向量(1,1)的方向,其x轴和y轴的方向分别用数组分开存储:
ballDir[0]表示x轴,ballDir[1]表示y轴
3.实现小球与墙壁和挡板、挡板与墙壁的碰撞算法
小球与墙壁的碰撞和挡板相似,以挡板为例:
小球的坐标处设置为球心坐标,故其与挡板的碰撞位置判断时需要加上小球的半径 当小球与挡板的上部碰撞时:
小球位置应在挡板的左右横坐标之间, 当
小球球心位置 + 小球半径 < 挡板上沿 并且
小球位置 > 挡板下沿(保证球不会穿过挡板) 时, 小球的则不能继续穿过挡板,
(为了实现小球镜面反射式的碰撞)
则小球的水平速度不变,竖直速度反向,实现代码如下:
绘制小球
对比以上方式,小球与挡板侧面发生碰撞时,只需小球的竖直速度不变,水平速度反向即可。小球与墙壁的碰撞方式与小球与挡板的类似。
4.实现键盘控制的挡板移动
挡板的方向设置为三个,0为静止,1为向右,-1为向左,分别用A和D控制左右:
5.菜单游戏介绍及难度等级的选择
在菜单中,实现了游戏说明,以及难度等级的选择,实现结果如下图所示:
五、附加功能的实现:
1.砖块的绘制、与小球的碰撞和砖块的消失
砖块的存储运用了数组,存储了砖块的四个顶点坐标,并利用循环画出,对于砖块的碰撞与前面的小球与挡板的碰撞判断方式相似,这里就不再复述了,对于砖块的消失,运用了一个
的来进行标识,小球每次与砖块发生碰撞,
则变为true,绘制时此砖块就不再画出,具体实现代码如下:
显示结果如下:
2.画面背景的五角星装饰,以及运用五角星的消隐来显示生命值的剩余
五角星的绘制也是运用了数组存储,其消隐运用了changecolor每次加一定大小的值来改变五
角星的颜色,从而在生命值耗尽时,五角星颜色变成背景颜色实现五角星的消失,实现代码如下:
3.文字标识的游戏的输赢
在游戏开始前,画面显示为ready,当生命值耗尽时,显示为lose;当砖块打完,显示为win,实现结果如下:
4.增加了小球的生命数以及血量条
利用循环,小球每碰到地面一次,则血条长度减去一定值,实现代码如下:
具体显示结果如下:
5.增加了背景图案的变化和背景颜色的切换
五角星的颜色会随着生命值的减少而逐渐褪去,生命耗尽时五角星会消失,实现方式上面已述:
背景颜色的切换运用了
,实现效果如下:
六、总结与体会:
弹球游戏的开发使我巩固了计算机图形学的绘制,变换等方面的知识,在这过程中之自
学了文字的显示,小球的碰撞判断虽然制作过程比较曲折,但是最后完成了还是很开心的,自己的代码能力也得到了锻炼。
正在阅读:
计算机图形学二维弹球实验报告09-11
筏板基础模板施工方案04-08
啄木鸟伐木人漫画作文400字06-22
道德经原文(马王堆甲本)08-18
最新国家开放大学电大《城市管理学(本)》期末题库及答案09-04
一年级下册期中家长会05-27
功能与程序描述话语作为事件逻辑的标志TheFunctionandthe04-20
2012年社团联合会主席述职报告 -09-30
GP32实验指导书10-02
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 二维
- 弹球
- 图形
- 实验
- 计算机
- 报告
- 2016中国商业地产行业趋势 - 图文
- 基于Libero的数字逻辑设计仿真及验证实验实验报告(全)
- 财务会计练习题3要点
- 中央美术学院美术史论历年真题
- 20XX年度党风廉政建设工作总结范文
- 无线电A类操作证考试题库(非图片版)汇编
- 张家界市矿产资源规划2010-2015 - 图文
- 2017届高三语文二轮复习字音字形训练(专题十五)Word版含解析
- 2017浙江省中等职业学校职业能力大赛“汽车运用与维修”赛项规程
- 电机学第五版课后答案 - (汤蕴璆)
- 《西安铁路局营业线施工安全管理实施细则》(西铁安16号)
- 2015-2022年中国芳烃溶剂油行业分析与发展前景预测报告 - 图文
- 车间作业环境(定)
- 2015年初级职称计算机考试模拟题WindowsXP
- 北大16秋《管理信息系统》在线作业
- 中国历代皇帝列表
- 浙大版电工电子学实验报告05单管电压放大电路
- 色彩与平面构成
- 五年级上册英语课文翻译外研版
- 2014年山东省枣庄市初中学业水平考试模拟数学试卷(2)