- 8
- 0
- 约1.09千字
- 约 4页
- 2018-05-18 发布于河南
- 举报
bresenham画圆算法-推荐
bresenham画圆算法bresenham画圆算法
中点画圆算法在一个方向上取单位间隔,在另一个方向的取值由两种可能取值的中点离圆的远近而定。实际处理中,用决策变量的符号来确定象素点的选择,因此算法效率较高。
一、中点画圆算法描述
设要显示圆的圆心在原点(0,0),半径为R,起点在(0,R)处,终点在(,)处,顺时针生成八分之一圆,利用对称性扫描转换全部圆。
为了应用中点画圆法,我们定义一个圆函数
F(x,y)=x2+y2-R2 (2-19) 任何点(x,y)的相对位置可由圆函数的符号来检测:
F(x,y) 0 点(x,y)位于数学圆内
=0 点(x,y)位于数学圆上
0 点(x,y)位于数学圆外 (2-20) 如下图所示,图中有两条圆弧A和B,假定当前取点为Pi(xi,yi),如果顺时针生成圆,那么下一点只能取正右方的点E(xi+1,yi)或右下方的点SE(xi+1,yi-1)两者之一。
中点画线算法
假设M是E和SE的中点,即 ,则:
当F(M)0时,M在圆内(圆弧A),这说明点E距离圆更近,应取点E作为下一象素点;
当F(M)0时,M在圆外(圆弧B),表明SE点离圆更近,应取SE点;
当F(M)=0时,在E点与SE点之中随便取一个即可,我们约定取SE点。
二、中点画圆算法思想
因此,我们用中点M的圆函数作为决策变量di,同时用增量法来
原创力文档

文档评论(0)