本算法思想较为简单,核心思想为将中点坐标代入直线方程F(x,y),若是F(x,y) >= 0,那么证实中点位置在直线上方,故yi+1 = yi 。算法
假设直线方程ax+by+c=0,易知a=y0-y1,b=x1-x0。
构造判别式di=F(xi+1,yi+0.5)
当di >=0 时,取 yi。反之取 yi+1。数学
从判别式,咱们易知d0 = a+0.5b。由于判断过程只涉及到正负问题,咱们能够将d的运算放缩2倍,即 d0=2a+b,以去除浮点运算。
经过简单的数学运算,可得:
if di >= 0 then
di+1=di+2a
else
di+1=di+2a+2b