void DrawLine(
int x0, int y0,
int x1, int y1,
int color
) {
int i( Max(Abs(x1-x0), Abs(y1-y0)) );
SetPixel(x0, y0, color);
const double len(i);
while( i!=0 ) {
const double x( x0 + i/len *(x1-x0) );
const double y( y0 + i/len *(y1-y0) );
i--;
SetPixel(Round(x), Round(y), color);
}
}
Verfahren erfüllt zumindest Anforderungen: möglichst gerade, durch die Eckpunkte, robust und unabhängig von der Reihenfolge.
Aber brauchen wir wirklich Gleitkommaarithmetik?