Costruzione di Interfacce - Paolo Cignoni
40
Algoritmo di Bresenham
MidpointLine(
int
x0,
int
y0,
int
x1,
int
y1,
int
value)
{
int
dx, dy, incrE, incrNE, d, x, y;
while
(x < x1 ) {
if
( d <= 0 ) {
d = d+incrE;
x++;
}
else
{
d = d+incrNE;
x++;
y++;
}
WritePixel(x, y, value);
}
}
Variabili intere
Scelta di E
Inizializzazione
dy = y1-y0;
dx = x1-x0;
d = 2*dy-dx;
incrE = 2*dy;
incrNE = 2*(dy-dx);
x = x0;
y = y0;
Scelta di NE
Moltiplico per 2
per avere solo interi