OpenGL时钟,右键变颜色

OpenGL时钟,右键变颜色

ID:39466711

大小:196.76 KB

页数:22页

时间:2019-07-04

OpenGL时钟,右键变颜色_第1页
OpenGL时钟,右键变颜色_第2页
OpenGL时钟,右键变颜色_第3页
OpenGL时钟,右键变颜色_第4页
OpenGL时钟,右键变颜色_第5页
资源描述:

《OpenGL时钟,右键变颜色》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课题名称:计算机图形学基础学号:姓名:《计算机图形学》课程设计报告题目名称:编程实现时钟运动专业计算机科学与技术班级13-04学号姓名指导教师2016年1月13日-20-课题名称:计算机图形学基础学号:姓名:目录一、设计内容与要求11.1设计题目11.2设计内容11.3设计目标1二、方案设计12.1总体方案设计12.2过程流程图2三、详细设计33.1程序设计原理及说明33.1.1表盘圆利用Bresenham算法33.1.2时针、分针和秒针的直线画法33.1.3颜色的添加33.1.4获取系统时间33.1.5小刻度及整点时间数字添加43.1.6改变颜色及恢复颜色43.2程序主要源代

2、码5四、程序运行说明184.1程序运行结果分析184.2程序运行结果图例18五、总结195.1程序结构优缺分析195.2程序改进方案与展望195.3心得体会20六、参考资料:20-20-课题名称:计算机图形学基础学号:姓名:一、设计内容与要求1.1设计题目编程实现时钟运动1.2设计内容设计一个可以获取系统时间的简易时钟,通过程序编写时钟的表盘、时针、分针、秒针和整点数字。钟表的样式根据自己的喜好设计,看起来简洁大方,还应该美观。时钟设计的重点在于如何获取系统的时间,表针之间的逻辑关系,时钟的模拟运行以及颜色的改变与恢复。1.3设计目标时钟几乎是每个人生活中必备的生活用品。时钟虽

3、小确非常重要。一款良好的时钟可以给人们带来极大的便利。这次设计的目标是能够获取系统时间,简洁美观,能够清楚地实现时针,分针,以及秒针的辨识和运转。并且能够通过右键改变时针以及表盘的颜色。二、方案设计2.1总体方案设计编程实现时钟运动,通过使用OpenGL以及图形学Bresenham的算法画出表针和表盘,并添加刻度。使用OpenGL颜色模型中的RGBA模式来给表盘等添加颜色来达到美观并用于区分表针,来完成表针的运动。然后通过添加函数来获取系统时间。并通过点击右键菜单实现时钟背景与时针颜色的转换。-20-课题名称:计算机图形学基础学号:姓名:2.2过程流程图开始制定方案右键改变颜色

4、时针分针秒针表盘设计获取系统时间颜色回复函数颜色改变函数定义颜色变量表针位置关系表针逻辑关系表针的颜色整点添加数字制定表盘形状添加表盘刻度获取最新时间时钟整体效果动画结束-20-课题名称:计算机图形学基础学号:姓名:三、详细设计3.1程序设计原理及说明3.1.1表盘圆利用Bresenham算法Bresenham画圆算法适合于生成整圆,它使用8路对称法,只计算出90°~45°的点,移动方向为+x,-y。设(Xi,Yi)是扫描到第i步时选定的坐标,下个被选定的可能是T或S。如图:PTSBresenham画法1/8圆弧示例3.1.2时针、分针和秒针的直线画法由于时针、分针和秒针是随时

5、间运动着的,而且其中一端位于固定点在圆盘中心,所以,只要确定另一端的移动点便可画出。3.1.3颜色的添加再根据OpenGL颜色模型定义当前颜色。设置当时钟运行时交换的菜单,运行程序时可变换时钟背景与时针的颜色。最后再设置一个恢复菜单恢复开始时表盘与指针的颜色。3.1.4获取系统时间-20-课题名称:计算机图形学基础学号:姓名:获取系统时间用到函数_strtime,它的功能为获取当前系统时间(不包括日期),函数以字符指针形式为返回。例如:#include#include#includevoidmain(){charNow_tim

6、e[30];printf("%s",_strtime(Now_time));getch();}运行结果将打印出当前时间。3.1.5小刻度及整点时间数字添加在表盘上添加数字用到函数glutBitmapCharacter(font,character),它是glut工具函数,用于在glut窗口某位置显示字符。由于是glut内置函数,功能有所限制,只能显示英文字符,而且字体、大小都不能任意设置。3.1.6改变颜色及恢复颜色改变颜色的函数:void change(); 恢复颜色的函数:void resume(); 3.2程序主要源代码//用OpenGL绘制的时钟#include

7、glut.h>-20-课题名称:计算机图形学基础学号:姓名:#include#include#include#include#include#include#definechangecolor1#defineresumecolor2#definequit3floatbr=0.0,bg=0.0,bb=0.0;//定义变量用来改变颜色intwinheight=768,winwidt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。