计算机图形学实验报告——Bresenham 算法画圆并填充 09009202 陶园 计算机图形学实验报告 实验二 Bresenham 算法画圆并填充 学号: 0 9 0 0 9 2 0 2 姓名:陶园 成绩: 东南大学计算机科学与工程学院 二〇一一年十一月 计算机图形学实验报告——Bresenham 算法画圆并填充 09009202 陶园 一. 实验题目 Bresenham 算法画圆并填充 二. 算法思想 1
首先,真实的线条是连续的,但是计算机中的线条是离散的,是由很多点组成的,那么画线的重点就是如何高效地找到这些离散的点来更好地画出想要的图形
实验要求用 Bresenham 算法实现画圆
那么首先先要了解 Bresenham 算法是一种什么算法
经过查阅,我找到Bresenham 直线算法和画圆算法
直线是圆的基础
Bresenham直线算法是用来描绘由两点所决定的直线的算法,它会算出一条线段在 n 维光栅上最接近的点
这个算法只会用到较为快速的整数加法、减法和位元移位,常用于绘制电脑画面中的直线
是计算机图形学中最先发展出来的算法
Bresenham画圆算法又称中点画圆算法,与 Bresenham 直线算法一样,其基本的方法是利用判别变量来判断选择最近的像素点,判别变量的数值仅仅用一些加、减和移位运算就可以计算出来
为了简便起见,考虑一个圆 心在坐标原点的圆,而且只计算八分圆周上的点,其余圆周上的点利用对称性就可得到
计算机图形学实验报告——Bresenham 算法画圆并填充 09009202 陶园 Bresenham直线算法流程图 圆的八对称性 计算机图形学实验报告——Bresenham 算法画圆并填充 09009202 陶园 所以,只需要知道圆上的一个点的坐标 (x, y) ,利用八对称性,就能得到另外七个对称点的坐标
和直线算法类似,Brese