bresenham算法的Bresenham改进算法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bresenham算法的Bresenham改进算法相关的知识,希望对你有一定的参考价值。
参考技术A原理:
上述bresenham 算法在计算直线斜率与误差项时用到了小数与除法,可以改用整数以避免除法。由于算法中用到误差项的符号,因此可以做如下替换:e\'=2*e*dx.
以下是C++语言方式描述的,在MFC下的核心绘图代码(画圆的算法)
CDC* pDC=GetDC();
int p,r,x,y,c,i;
r=50;
p=3-2*r;
c=RGB(0,0,0);
x=0;
y=r;
i=100;
for(;x<=y;)
pDC->SetPixel(x+i,y+i,c);
pDC->SetPixel(-x+i,-y+i,c);
pDC->SetPixel(-x+i,y+i,c);
pDC->SetPixel(x+i,-y+i,c);
pDC->SetPixel(y+i,x+i,c);
pDC->SetPixel(-y+i,x+i,c);
pDC->SetPixel(-y+i,-x+i,c);
pDC->SetPixel(y+i,-x+i,c);
if(p<0)p=p+4*x+6;
else y--;p=p+4*(x-y)+10;
x++;
bresenham算法的介绍
参考技术Abresenham算法是计算机图形学中为了“显示器(屏幕或打印机)系由像素构成”的这个特性而设计出来的算法,使得在求直线各点的过程中全部以整数来运算,因而大幅度提升计算速度。
以上是关于bresenham算法的Bresenham改进算法的主要内容,如果未能解决你的问题,请参考以下文章