计算机图形学Bresenham算法

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

地理与生物信息学院

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

相关文档
最新文档