Gesucht ist ein Algorithmus, der alle Pixel berechnet, die zu einer Verbindungslinie zweier Punkte A nach B gehören. Beispiel: A(1,1) B(8,5)
| B | |||||||||
| A |
Eine rekursive Lösung bedingt eine Abbruchbedingung und eine allgemeine Vorschrift, die zu einer Problemvereinfachung führt.
Abbruchbedingung:
wenn A und B benachbart, dann A und B markieren
sonst
Allg. Rekursionsvorschrift:
Berechne den Mittelpunkt (ganzzahlige Koordinaten)
und Zeichne folgende (kürzere) Linien:
Linie von A nach M
Linie von M nach B
Gemäß dieser Vorschrift erhält man folgende Zwischenschritte, aus denen die Baumstruktur hervorgeht:
1. Aufruf 2. Schritt 3. Schritt 4. Schritt 5. Schritt
/ L(1,1)-(2,2) = P[(1,1),(2,2)]
/
L(1,1)-(4,3)
/ \ / L(2,2)-(3,2) = P[(2,2),(3,2)]
/ \ L(2,2)-(4,3)
/ \ L(3,2)-(4,2) = P[(3,2),(4,2)]
/
L(1,1)-(8,5)
\ / L(4,3)-(5,3) = P[(4,3),(5,3)]
\ / L(4,3)-(6,4)
\ / \ L(5,3)-(6,4) = P[(5,3),(6,4)]
\L(4,3)-(8,5)
\ / L(6,4)-(7,4) = P[(6,4),(7,4)]
\ L(6,4)-(8,5)
\ L(7,4)-(8,5) = P[(7,4),(8,5)]
| B | |||||||||
| A |