※※※※※※※※※ ※2007级学生计算机图※ ※
※
※※
形学课程设计
※※※※※※
※ ※ ※
计算机图形学课程设计报告
课题名称 直线和圆中点Bresenham算法
林珊珊 0701 1307101118 王金韬 0701 1307101123
小组成员
陈文辉 0702 1307101215 周叶青 0702 1307101224
院、系、部 数理系
专 业 信息与计算科学 指导教师 林杰
一、设计任务及要求: 设计任务: 掌握中点Bresenham算法绘制直线的原理,设计中点Bresenham算法,编写Mbline()子函数,使用中点Bresenham算法绘制斜率为0≦k≦1的直线。 掌握八分法中点Bresenham算法绘制圆的原理,设计八分法绘制圆的中点Bresenham算法,编写八分法绘制圆的CirclePoint(x,y)子函数,编写绘制整圆的Mbcircle()子函数,使用中点Bresenham算法绘制圆心位于屏幕客户区中心的圆。 要 求: 此次课程设计的课题为通过编程,实现圆和直线等基本图形的绘制。要求用Bresenham算法实现圆和直线等基本图形的绘制,并给出代码和结果截图。 指导教师签名: 年 月 日 二、指导教师评语: 指导教师签名: 年 月 日
三、成绩
目 录
1、课程设计目的…………………………………………………………………2
2、课程设计描述及要求…………………………………………………………2
3、系统开发环境…………………………………………………………………2
4、直线的Bresenham算法原理…………………………………………………2
4.1中点Bresenham算法……………………………………………………2
4.2该进的Bresenham算法…………………………………………………5
5、圆的Bresenham算法原理……………………………………………………7
6、程序运行结果…………………………………………………………………9
7、总结……………………………………………………………………………11
8、参考资料………………………………………………………………………11
9、附录……………………………………………………………………………11
- 1 -
计算机图形学课程设计报告
1.课程设计目的
本学期系统学习了计算机图形学的概论原理,在学期期末按课程要求进行实验。通过实验,进一步理解和掌握中点算法、Bresenham算法和二阶差分算法, 并掌握以上算法生成圆和直线等图形的基本过程,提高学生对计算机图形学的了解与运用技巧,同时通过此次课程设计提高动手实践能力与学习分析能力。 2.课程设计描述及要求 ●直线中点Bresenham算法
掌握中点Bresenham算法绘制直线的原理,设计中点Bresenham算法,编写Mbline()子函数,使用中点Bresenham算法绘制斜率为0≦k≦1的直线 ●圆中点Bresenham算法
掌握八分法中点Bresenham算法绘制圆的原理,设计八分法绘制圆的中点Bresenham算法,编写八分法绘制圆的CirclePoint(x,y)子函数,编写绘制整圆的Mbcircle()子函数,使用中点Bresenham算法绘制圆心位于屏幕客户区中心的圆。
此次课程设计的课题为通过编程,实现圆和直线等基本图形的绘制。要求用Bresenham算法实现圆和直线等基本图形的绘制,并给出代码和结果截图。 3.系统开发环境 开发工具:VC 6.0
操作系统:Microsoft Windows XP 4. 直线的Bresenham算法原理 4.1中点Bresenham算法
给定直线的两个端点P,可得到直线方程F(x,y)=y-kx-b=0(P1X1,Y1)0X,Y0)和(且
?yY1?Y0k???xX1?X0
这时直线将平面分为三个区域:对于直线上的点,F(x,y)=0;对于直线上方的点,F(x,y)>0;对于直线下方的点,F(x,y)<0。
由Bresenham提出的直线生成算法的基本原理是,每次在最大位移方向上走一步,而另一个方向是走步还是不走步取决于误差项的判别,如下图所示。
- 2 -