计算机图形学Bresenham算法
地理与生物信息学院
2010 / 2011 学年第二学期
实验报告
课程名称:计算机图形学
实验名称:Bresenham直线扫描算法的实现
班级学号 B08021730
学生姓名郭超伟
指导教师曹正林日期:2011 年4 月
计算机图形学
一、实验题目:
Bresenham直线扫描算法的实现
二、实验要求:
学习Visual C++ 6.0集成编程环境的使用、图形设备接口和常用图形程序设计、鼠标编程以及菜单设计等基础知识,从而掌握利用Visual C++进行图形程序设计的方法以及简单的图形画法,并编程实现Bresenham直线扫描转换程序,得出相应的输出图形。
三、实验内容:
1.学习Visual C++ 6.0集成编成环境的使用;
2.掌握Visual C++ 6.0图形设备接口和常用图形程序设计、菜单设计等方法;
3.编程实现Bresenham直线扫描转换程序,得出相应的输出图形;
四、实验过程:
1.算法的基本描述
// 假设该线段位于第一象限内且斜率大于0小于1,设起点为(x1,y1),终点为
(x2,y2).
// 根据对称性,可推导至全象限内的线段.
1.画起点(x1,y1).
2.准备画下个点。x坐标增1,判断如果达到终点,则完成。否则,由图中可知,下个要画的点要么为当前点的右邻接点,要么是当前点的右上邻接点.
2.1.如果线段ax+by+c=0与x=x1+1的交点的y坐标大于M点的y坐标的话,下个点为U(x1+1,y1+1)
2.2.否则,下个点为B(x1+1,y1)
3.画点(U或者B).
4.跳回第2步.
5.结束
2
相关主题