本算法思想较为简单,核心思想为将中点坐标代入直线方程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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。