皮球运动动画:中点算法与视觉残留效果

5星 · 超过95%的资源 需积分: 9 34 下载量 104 浏览量 更新于2024-07-31 2 收藏 223KB DOC 举报
本篇文档是关于"图形学设计皮球运动动画"的课程设计报告,针对计算机科学与技术学院的一门课程——计算机图形学。该设计任务是创建一个动画,模拟一个圆皮球从竖直高度以横向速度抛出,经历落地、弹起并最终静止的过程。设计目标涉及动画制作的两个核心环节:动画的基本原理和圆的绘制。 在动画设计上,关键原理是利用人眼的视觉残留效应,即当我们看到连续画面时,会误以为这些画面是连续发生的,即使它们实际上是静止的。通过控制帧率和序列化图像,可以创造出看起来动态的效果。动画中的皮球运动是由中点画圆算法实现的,函数`void MidCircle(int x0, int y0, int r)`用于设定圆心坐标和半径,颜色通过`mLight.Ir`, `mLight.Ig`, `mLight.Ib`来定义,背景色则通过`glClearColor`设置。 圆的绘制部分,涉及到变量如`cx=100, cy=300, cr=20`来定义皮球初始的位置、高度和体积,而窗口的尺寸由`int windowswidth = 1000, windowshight = 500`定义。设计中有几个关键的函数:`void Init()`负责初始化,可能设置了图形上下文;`void myDisplay()`用于显示每一帧;`glLoadIdentity()`用于重置视口变换矩阵,确保每次渲染前图形状态正确;`void RenderScene()`负责渲染场景;`void TimerFunction(int value)`可能是一个定时器函数,用于控制帧率和动画更新。 程序流程图和程序清单展示了代码结构,包括了常用的OpenGL库函数(如`#include <GL/glut.h>`)以及自定义数据结构(如`struct Vector`和`struct Color`)的定义。通过这些代码片段,学生学习了如何在图形编程环境中创建一个交互式的皮球运动动画,同时深入理解了基本的图形渲染和动画原理。 此外,文档提到了学生姓名、学号、专业班级、指导教师以及设计完成日期,这些都是课程设计报告的标准组成部分。整篇文档展示了学生在实际项目中运用理论知识解决实际问题的能力,同时也展示了图形学在艺术表达和游戏开发等领域的应用潜力。
2024-10-24 上传