OpenGL实战:绘制彩色时钟与五角星动画

4星 · 超过85%的资源 需积分: 26 11 下载量 106 浏览量 更新于2024-09-15 1 收藏 112KB DOC 举报
在本次计算机图形学实验中,学生赵志成针对计科08-2班进行了一次关于OpenGL基本图形绘制的学习和实践。实验的主要目标包括熟练掌握OpenGL的基本图形绘制函数,理解并应用模型和视图变换,以及通过矩阵变换组合创建复杂图形模型。 具体实验内容涉及两个部分:绘制五角星和时钟。 1. **五角星绘制**: - 实现代码利用了`GL_POLYGON`函数,这是OpenGL中的多边形绘制模式,学生首先定义了五角星各个顶点的坐标,这些坐标是通过数学计算得到的。 - 五角星被赋予蓝色填充色,调用`glColor3f(0.0f, 0.0f, 1.0f)`设置了绘图颜色。 2. **时钟绘制**: - 对于时钟的绘制,采用了更加复杂的结构,包括蓝色填充的时针、红色填充的分针和黄色填充的秒针。这些图形分别由`GL_TRIANGLES`绘制,三角形是最基本的多边形类型,适合表示指针形状。 - 刻度线的绘制采用`GL_POINTS`,并且通过设置`glPointSize()`来区分时针和秒针较小的刻度,以增强视觉效果。 程序设计的关键部分在于初始化函数`Init()`,它设置了窗口颜色为黑色,以便在`Display()`函数中使用蓝色作为背景。`Display()`函数负责实际的图形渲染,包括清除窗口、设置绘图颜色和执行多边形绘制。 此外,实验还涉及到窗口管理函数,如`glutInitDisplayMode()`用于设置窗口显示模式,`glutCreateWindow()`用于创建窗口,`glutDisplayFunc()`和`glutReshapeFunc()`则分别处理窗口显示和尺寸改变时的相应操作。 整个过程不仅锻炼了学生对OpenGL编程基础的理解,也让他们能够灵活运用模型和视图变换来构造动态的时钟动画,展示了图形学在实际项目中的应用能力。通过这样的实践,学生能够加深对计算机图形学理论的理解,提升图形渲染和编程技巧。