Remark for the Bresenham Line Generation Algorithm
Remark: The algorithm will be properly the same if we suppose | m | < 1
(a) Input two line ending points and store left end point in (x0, y0) (b) Load (x0, y0) on frame buffer that is, plot the first point.
(c) Determine Δx, Δy, 2Δy, 2Δy - 2Δx and acquire the beginning value of decision parameter as p0 = 2Δy - Δx
(d) At each xk along the line, beginning at k = 0, perform subsequent test:
If pk < 0, the subsequent plot is (xk + 1, yk) and pk + 1 = pk + 2Δy else subsequent plot is (xk + 1 , yk + 1) and pk + 1 = pk + 2(Δy - Δx)
(e) Repeat step (D) Δx times.
Bresenham Line Generation Algorithm (| m | < 1)
Δ x ← x1 - x0
Δ y ← y1 - y0
p0 ← 2Δy - Δx
while (x0 < = x1) do
{puton (x0, y0)
if (pi > 0) then
{x0 ← x0 + 1;
y0 ← y0 + 1;
pi + 1 ← pi + 2 (Δy - Δx);
}
if (pi < 0) then
{x0 ← x0 + 1
y0 ← y0
pi + 1 ← pi + 2 Δy
}
}