计算机图形学Bresenham算法

计算机图形学Bresenham算法
计算机图形学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

相关主题
相关文档
最新文档