本算法思想较为简单,核心思想为将中点坐标代入直线方程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


yuuko0623
9 声望0 粉丝

我不知道我是谁,我是猪,我什么都不知道。


引用和评论

0 条评论