23 Ott 2002
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