bresenham算法的算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bresenham算法的算法相关的知识,希望对你有一定的参考价值。

参考技术A

void IntegerBresenhamlin(int x0,int y0,int x1,int y1,int color)

int x,y,dx,dy,unitx,unity,fabs_dx,fabs_dy,e;
unsigned char i;
dx=x1-x0;
dy=y1-y0;
fabs_dx = (int)fabs(dx);
fabs_dy = (int)fabs(dy);
unitx = dx / fabs_dx ;
unity = dy / fabs_dy ;
x=x0;
y=y0;
if( fabs_dx> fabs_dy )

e=-fabs_dx;
for(i=0;i<=fabs_dx;i++)

drawpixel(x,y,color);
x+=unitx,e=e+2*fabs_dy;
if(e>=0)

y+=unity;e=e-2*fabs_dx;

// for end

else

e-=fabs_dy;
for(i=0;i<=fabs_dy;i++)

drawpixel(x,y,color);
y+=unity,e=e+2*fabs_dx;
if(e>=0)

x+=unitx;e=e-2*fabs_dy;

// for end
// if end
//:~

bresenham算法的介绍

参考技术A

bresenham算法是计算机图形学中为了“显示器(屏幕或打印机)系由像素构成”的这个特性而设计出来的算法,使得在求直线各点的过程中全部以整数来运算,因而大幅度提升计算速度。

以上是关于bresenham算法的算法的主要内容,如果未能解决你的问题,请参考以下文章

bresenham算法的算法

Bresenham画线算法

bresenham算法的原理

bresenham算法的Bresenham改进算法

Bresenham算法

用C++如何实现bresenham画线算法?计算机图形学上面有个drawpixel的函数。不知道怎么用。