Re: Bresenham Algorithmus
Verfasst: 5. Aug 2010 11:33
Guten Tag,
ihr habt auf der Vorlesungsfolie die Koordinaten leider falsch abgelesen. Richtig sollten sie lauten P1(2,2) P2(8,6). Ich bin den Algorithmus nochmal durchgegangen und bin genau auf den Endpunkt gekommen.
xstart = 2
xend = 8
ystart = 2
yend = 6
dx= xend - xstart [-> dx = 6]
dy = yend - ystart [-> dy = 4]
f = dx/2 [-> f = 3]
xstart= 2
ystart = 2
SETPIXEL 2,2
While x < xend
x = x + 1 [-> x = 3]
f = f - dy [-> f = -1]
IF f < 0 Then
y = y + 1 [-> y = 3]
f = f + dx [-> f = 5]
SETPIXEL 3,3
While x < xend
x = x + 1 [-> x = 4]
f = f - dy [-> f = 1]
SETPIXEL 4,3
While x < xend
x = x + 1 [-> x = 5]
f = f - dy [-> f = -3]
IF f < 0 Then
y = y + 1 [-> y = 4]
f = f + dx [-> f = 3]
SETPIXEL 5,4
While x < xend
x = x + 1 [-> x = 6]
f = f - dy [-> f = -1]
IF f < 0 Then
y = y + 1 [-> y = 5]
f = f + dx [-> f = 5]
SETPIXEL 6,5
While x < xend
x = x + 1 [-> x = 7]
f = f - dy [-> f = 1]
SETPIXEL 7,5
While x < xend
x = x + 1 [-> x = 8]
f = f - dy [-> f = -3]
IF f < 0 Then
y = y + 1 [-> y = 6]
f = f + dx [-> f = 3]
SETPIXEL 8,6
Hoffentlich habe ich auch alles verständlich geschrieben und keine Flüchtigkeitsfehler reingehauen.
Gruß Hendrik
ihr habt auf der Vorlesungsfolie die Koordinaten leider falsch abgelesen. Richtig sollten sie lauten P1(2,2) P2(8,6). Ich bin den Algorithmus nochmal durchgegangen und bin genau auf den Endpunkt gekommen.
xstart = 2
xend = 8
ystart = 2
yend = 6
dx= xend - xstart [-> dx = 6]
dy = yend - ystart [-> dy = 4]
f = dx/2 [-> f = 3]
xstart= 2
ystart = 2
SETPIXEL 2,2
While x < xend
x = x + 1 [-> x = 3]
f = f - dy [-> f = -1]
IF f < 0 Then
y = y + 1 [-> y = 3]
f = f + dx [-> f = 5]
SETPIXEL 3,3
While x < xend
x = x + 1 [-> x = 4]
f = f - dy [-> f = 1]
SETPIXEL 4,3
While x < xend
x = x + 1 [-> x = 5]
f = f - dy [-> f = -3]
IF f < 0 Then
y = y + 1 [-> y = 4]
f = f + dx [-> f = 3]
SETPIXEL 5,4
While x < xend
x = x + 1 [-> x = 6]
f = f - dy [-> f = -1]
IF f < 0 Then
y = y + 1 [-> y = 5]
f = f + dx [-> f = 5]
SETPIXEL 6,5
While x < xend
x = x + 1 [-> x = 7]
f = f - dy [-> f = 1]
SETPIXEL 7,5
While x < xend
x = x + 1 [-> x = 8]
f = f - dy [-> f = -3]
IF f < 0 Then
y = y + 1 [-> y = 6]
f = f + dx [-> f = 3]
SETPIXEL 8,6
Hoffentlich habe ich auch alles verständlich geschrieben und keine Flüchtigkeitsfehler reingehauen.
Gruß Hendrik