next up previous contents
Nächste Seite: Mittelpunkt-Entscheidungsalgorithmus (Bresenham) Aufwärts: Darstellung von Liniensegmenten Vorherige Seite: Mögliche Beschreibungsformen für ein   Inhalt

Diskretisierung der parametrisierten Form

 
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?



© 2004/2005, A. Formella & D. Fellner, Universität Braunschweig