Another look at Bresenham (3)

Let's get rid of float operations

the following decision parameter has the same sign as d1 - d2 :

(4) Pk = DX ( d1 - d2) = 2 DY . xk - 2 DX . yk + c = DX( 2 m (xk + 1) - 2 yk + 2b -1)
with c = constante = 2 DY + DX (2b -1)

Let's get rid of multiplications

Pk+1 = 2 DY . xk+1 - 2 DX .yk+1 + c

Pk+1 - Pk = 2 DY (xk+1 - xk) - 2 DX (yk+1 - yk) (get rid of the constance)

Pk+1 = Pk + 2 DY - 2 DX (yk+1 - yk)

Pk+1 = Pk + D'Y     or     = Pk + D'Y - D'X

with (yk+1 - yk) = 0 or 1 depending on Pk sign
(Pk < 0 <=> 0)        and    D'Y = 2 DY   and    D'X = 2 DX 

P0 = 2DY - DX     (   = 2 DY . x0 - 2 DX . y0 + 2 DY + DX (2b -1)  )

(in our implemented algo, 'fraction' is the decision parameter Pk)