一、 总体目标和要求
目标:以图形学算法为目标,深入研究。继而策划、设计并实现一个能够表现计算机图形学算法原理的或完整过程的演示系统,并能从某些方面作出评价和改进意见。通过完成一个完整程序,经历策划、设计、开发、测试、总结和验收各阶段,达到:
1) 巩固和实践计算机图形学课程中的理论和算法;
2) 结合VC开发平台,学习掌握计算机图形学算法的具体实现;
3) 培养认真学习、积极探索的精神。
总体要求:策划、设计并实现一个能够充分表现图形学算法的演示系统,界面要求美观大方,能清楚地演示算法执行的每一个步骤。
开发环境:Viusal C++ 6.0,VC2005或其他你认为比较熟悉的环境。
二、 内容与要求
实验分为五项内容。
1. 直线的生成
内容:用Bresenham算法画直线
要求:
1) 鼠标移动时,显示鼠标当前位置
2) 显示判别式的计算过程和下一点的选择策略
3) 记录生成点的坐标
4) 图形生成过程可以重复进行
2. 圆弧的生成
内容:用Bresenham算法画圆
要求:
1) 鼠标移动时,显示鼠标当前位置
2) 显示判别式的计算过程和下一点的选择策略
3) 记录生成点的坐标
4) 图形生成过程可以重复进行
5) 橡皮筋技术实现
3. 线段裁剪
内容:用梁友栋-Barsky算法进行线段裁剪
要求:
1) 对于线段裁剪,线段被窗口的四条边裁剪的过程要显示出来
2) 用橡皮筋的形式输入剪裁线段
4. 多边形裁剪
内容:用Sutherland-Hodgman算法进行多边形裁剪
要求:
1) 裁剪过程需先输入一多边形,然后用窗口四边裁剪的过程中要显示顶点增删过程。
2) 用橡皮筋的形式输入剪裁线段
5. 综合
内容:把前四次的实验内容整合到一起
要求:
注:
欢迎大家有好的想法,设计出美观大方,表现力好,有创意的程序。
上面列出的是最基本的要求,如果大家能提出更好的建议,请提出来。
三、 进度安排
日期 |
内容 |
备注 |
|
5-28 |
周一 |
用Bresenham算法画直线 |
|
5-29 |
周二 |
用Bresenham算法画圆 |
|
5-30 |
周三 |
用梁友栋-Barsky算法进行线段裁剪 |
|
5-31 |
周四 |
用Sutherland-Hodgman算法进行多边形裁剪 |
|
6-01 |
周五 |
四次的实验内容整合,撰写课程设计报告 |
|
6-02 |
周六 |
上午提交设计报告(10页左右)和班级光盘 |
提交材料要求:
每位同学提交一份设计报告(7-10页左右),同时将设计报告与程序代码放在一个文件夹中,文件夹名称按“计本09-班级编号_后两位学号_姓名”格式命名,例“计本09-1_05_王五”。
每个班级提交一张光盘,包括所有同学的文件夹内容。
附:课程设计报告模板:/Files/opengl/计算机图形学课设-报告模板.rar