referat interpretation charakterisierung

REFERAT-Menü

Deutsch
Geographie
Geschichte
Chemie
Biographien
Elektronik
Englisch
Epochen
Französisch
Biologie
Informatik
Italienisch
Kunst
Latein
Literatur
Mathematik
Musik
Philosophie
Physik
Politik
Psychologie
Recht
Sonstige
Spanisch
Sport
Technik
Wirtschaft
Wirtschaftskunde-BWL

Referat Der Algorithmus von Bresenham

Der 17531udb22fol1r Algorithmus 17531udb22fol1r von 17531udb22fol1r Bresenham

17531udb22fol1r

Das 17531udb22fol1r Bresenham-Verfahren 17531udb22fol1r beruht 17531udb22fol1r im 17531udb22fol1r wesentlichen 17531udb22fol1r auf 17531udb22fol1r zwei 17531udb22fol1r grundsätzliche 17531udb22fol1r

Beobachtungen:

17531udb22fol1r

- 17531udb22fol1r Es 17531udb22fol1r reicht 17531udb22fol1r ein 17531udb22fol1r Verfahren 17531udb22fol1r aus 17531udb22fol1r um 17531udb22fol1r Geraden 17531udb22fol1r mit 17531udb22fol1r einer 17531udb22fol1r

Steigung 17531udb22fol1r im 17531udb22fol1r Bereich 17531udb22fol1r von 17531udb22fol1r null 17531udb22fol1r bis 17531udb22fol1r eins 17531udb22fol1r darzustellen.

17531udb22fol1r

- 17531udb22fol1r Es 17531udb22fol1r kommen 17531udb22fol1r für 17531udb22fol1r die 17531udb22fol1r Linie 17531udb22fol1r prinzipiell 17531udb22fol1r immer 17531udb22fol1r nur 17531udb22fol1r zwei 17531udb22fol1r Punkte 17531udb22fol1r in 17531udb22fol1r Frage, 17531udb22fol1r die 17531udb22fol1r als 17531udb22fol1r nächstes 17531udb22fol1r gezeichnet 17531udb22fol1r werden

dürfen. 17531udb22fol1r

17531udb22fol1r

17531udb22fol1r

17531udb22fol1r

17531udb22fol1r

17531udb22fol1r

Die 17531udb22fol1r erste 17531udb22fol1r Behauptung 17531udb22fol1r läßt 17531udb22fol1r sich 17531udb22fol1r einfach 17531udb22fol1r erklären. 17531udb22fol1r Wenn 17531udb22fol1r eine 17531udb22fol1r Gerade 17531udb22fol1r eine 17531udb22fol1r Steigung 17531udb22fol1r von 17531udb22fol1r minimal 17531udb22fol1r null 17531udb22fol1r und 17531udb22fol1r maximal 17531udb22fol1r eins 17531udb22fol1r hat, 17531udb22fol1r dann 17531udb22fol1r liegt 17531udb22fol1r sie 17531udb22fol1r zwischen 17531udb22fol1r

einer 17531udb22fol1r Waagerechten 17531udb22fol1r und 17531udb22fol1r einer 17531udb22fol1r Geraden, 17531udb22fol1r die 17531udb22fol1r einen 17531udb22fol1r Winkel 17531udb22fol1r von 17531udb22fol1r 45 17531udb22fol1r Grad 17531udb22fol1r mit

der 17531udb22fol1r X-Achse 17531udb22fol1r einschließt.

Es 17531udb22fol1r gibt 17531udb22fol1r natürlich 17531udb22fol1r auch 17531udb22fol1r Geraden 17531udb22fol1r mit 17531udb22fol1r einer 17531udb22fol1r steileren 17531udb22fol1r Steigung 17531udb22fol1r als 17531udb22fol1r eins. 17531udb22fol1r Doch 17531udb22fol1r alle 17531udb22fol1r diese 17531udb22fol1r Geraden 17531udb22fol1r kann 17531udb22fol1r man 17531udb22fol1r auch 17531udb22fol1r erhalten, 17531udb22fol1r indem 17531udb22fol1r man 17531udb22fol1r eine 17531udb22fol1r Gerade 17531udb22fol1r mir 17531udb22fol1r der 17531udb22fol1r Steigung 17531udb22fol1r null 17531udb22fol1r bis 17531udb22fol1r eins 17531udb22fol1r um 17531udb22fol1r die 17531udb22fol1r Winkelhalbierende 17531udb22fol1r spiegelt. 17531udb22fol1r Dies 17531udb22fol1r kann 17531udb22fol1r man 17531udb22fol1r leicht

erreichen, 17531udb22fol1r indem 17531udb22fol1r man 17531udb22fol1r die 17531udb22fol1r X- 17531udb22fol1r und 17531udb22fol1r Y- 17531udb22fol1r Koordinaten 17531udb22fol1r austauscht.

Bleiben 17531udb22fol1r noch 17531udb22fol1r Geraden 17531udb22fol1r mit 17531udb22fol1r einer 17531udb22fol1r negativen 17531udb22fol1r Steigung, 17531udb22fol1r also 17531udb22fol1r "fallende" 17531udb22fol1r Geraden,

übrig. 17531udb22fol1r Doch 17531udb22fol1r auch 17531udb22fol1r diese 17531udb22fol1r lassen 17531udb22fol1r sich 17531udb22fol1r herleiten, 17531udb22fol1r indem 17531udb22fol1r man 17531udb22fol1r die 17531udb22fol1r entsprechende 17531udb22fol1r Gerade 17531udb22fol1r an 17531udb22fol1r der 17531udb22fol1r X-Achse 17531udb22fol1r spiegelt. 17531udb22fol1r Das 17531udb22fol1r erreicht 17531udb22fol1r man 17531udb22fol1r durch 17531udb22fol1r das 17531udb22fol1r Umdrehen 17531udb22fol1r des 17531udb22fol1r Vorzeichens 17531udb22fol1r der 17531udb22fol1r Y-Koordinate.

17531udb22fol1r

Die 17531udb22fol1r zweite 17531udb22fol1r wichtige 17531udb22fol1r Voraussetzung 17531udb22fol1r des 17531udb22fol1r Algorithmus 17531udb22fol1r basiert 17531udb22fol1r nun 17531udb22fol1r auf 17531udb22fol1r der 17531udb22fol1r erstgenannten. 17531udb22fol1r Sie 17531udb22fol1r besagt, 17531udb22fol1r daß 17531udb22fol1r bei 17531udb22fol1r allen 17531udb22fol1r Geraden 17531udb22fol1r die 17531udb22fol1r aufwendigen 17531udb22fol1r Berechnungen 17531udb22fol1r unter 17531udb22fol1r Einbeziehung 17531udb22fol1r der 17531udb22fol1r Steigung 17531udb22fol1r überflüssig 17531udb22fol1r sind. 17531udb22fol1r Wenn 17531udb22fol1r man 17531udb22fol1r vom 17531udb22fol1r Anfangspunkt 17531udb22fol1r einer 17531udb22fol1r "Grund-Geraden" 17531udb22fol1r ausgeht, 17531udb22fol1r kommen 17531udb22fol1r generell 17531udb22fol1r nur 17531udb22fol1r zwei 17531udb22fol1r Punkte 17531udb22fol1r in 17531udb22fol1r Frage, 17531udb22fol1r die 17531udb22fol1r als 17531udb22fol1r nächste 17531udb22fol1r gezeichnet 17531udb22fol1r werden 17531udb22fol1r dürfen.

Beginnend 17531udb22fol1r mit 17531udb22fol1r dem 17531udb22fol1r Anfangspunkt 17531udb22fol1r wird 17531udb22fol1r kontinuierlich 17531udb22fol1r entschieden, 17531udb22fol1r ob 17531udb22fol1r der 17531udb22fol1r rechts 17531udb22fol1r davon 17531udb22fol1r liegende 17531udb22fol1r Punkt 17531udb22fol1r A 17531udb22fol1r oder 17531udb22fol1r B 17531udb22fol1r dargestellt 17531udb22fol1r werden 17531udb22fol1r muß. 17531udb22fol1r Von 17531udb22fol1r diesem 17531udb22fol1r Punkt 17531udb22fol1r wird 17531udb22fol1r wieder 17531udb22fol1r weiter 17531udb22fol1r entschieden. 17531udb22fol1r

17531udb22fol1r

Jetzt 17531udb22fol1r stellt 17531udb22fol1r sich 17531udb22fol1r die 17531udb22fol1r Frage 17531udb22fol1r wie 17531udb22fol1r entschieden 17531udb22fol1r wird?

Dazu 17531udb22fol1r muß 17531udb22fol1r herausgefunden 17531udb22fol1r werden, 17531udb22fol1r welcher 17531udb22fol1r Punkt, 17531udb22fol1r A 17531udb22fol1r oder 17531udb22fol1r B, 17531udb22fol1r näher 17531udb22fol1r der 17531udb22fol1r tatsächlichen 17531udb22fol1r Gerade 17531udb22fol1r liegt. 17531udb22fol1r Es 17531udb22fol1r wird 17531udb22fol1r von 17531udb22fol1r der 17531udb22fol1r Geradengleichung 17531udb22fol1r y 17531udb22fol1r = 17531udb22fol1r kx 17531udb22fol1r + 17531udb22fol1r d

ausgegangen. 17531udb22fol1r Bei 17531udb22fol1r der 17531udb22fol1r Bresenham-Methode 17531udb22fol1r wird 17531udb22fol1r der 17531udb22fol1r Einfachheit 17531udb22fol1r halber 17531udb22fol1r davon

ausgegangen, 17531udb22fol1r daß 17531udb22fol1r der 17531udb22fol1r Anfangspunkt 17531udb22fol1r der 17531udb22fol1r Gerade 17531udb22fol1r durch 17531udb22fol1r den 17531udb22fol1r Ursprung 17531udb22fol1r geht.

Daher 17531udb22fol1r wird 17531udb22fol1r d 17531udb22fol1r zu 17531udb22fol1r null 17531udb22fol1r und 17531udb22fol1r die 17531udb22fol1r Gleichung 17531udb22fol1r vereinfacht 17531udb22fol1r sich 17531udb22fol1r zu: 17531udb22fol1r y 17531udb22fol1r = 17531udb22fol1r kx

17531udb22fol1r

Der 17531udb22fol1r Bresenham-Algorithmus 17531udb22fol1r berechnet 17531udb22fol1r die 17531udb22fol1r Koordinaten 17531udb22fol1r jedes 17531udb22fol1r einzelnen 17531udb22fol1r Punktes, 17531udb22fol1r indem 17531udb22fol1r vom 17531udb22fol1r zuletzt 17531udb22fol1r gezeichneten 17531udb22fol1r Punkt 17531udb22fol1r ausgegangen 17531udb22fol1r wird. 17531udb22fol1r Der 17531udb22fol1r Punkt 17531udb22fol1r P

besitzt 17531udb22fol1r die 17531udb22fol1r Koordinaten 17531udb22fol1r X 17531udb22fol1r und 17531udb22fol1r Y. 17531udb22fol1r Als 17531udb22fol1r nächster 17531udb22fol1r Punkt 17531udb22fol1r kommt 17531udb22fol1r entweder 17531udb22fol1r A 17531udb22fol1r oder 17531udb22fol1r B

mit 17531udb22fol1r den 17531udb22fol1r Koordinaten 17531udb22fol1r X+1 17531udb22fol1r und 17531udb22fol1r Y+1 17531udb22fol1r bzw. 17531udb22fol1r X+1 17531udb22fol1r und 17531udb22fol1r Y.

17531udb22fol1r

Der 17531udb22fol1r Punkt 17531udb22fol1r A 17531udb22fol1r liegt 17531udb22fol1r oberhalb 17531udb22fol1r der 17531udb22fol1r tatsächlichen 17531udb22fol1r Geraden. 17531udb22fol1r Die 17531udb22fol1r tatsächliche 17531udb22fol1r Y-Koordinate 17531udb22fol1r an 17531udb22fol1r der 17531udb22fol1r Stelle 17531udb22fol1r X 17531udb22fol1r ergibt 17531udb22fol1r sich 17531udb22fol1r aus 17531udb22fol1r der 17531udb22fol1r Geradengleichung:

y 17531udb22fol1r = 17531udb22fol1r kx 17531udb22fol1r Daher 17531udb22fol1r beträgt 17531udb22fol1r der 17531udb22fol1r Abstand 17531udb22fol1r des 17531udb22fol1r Punktes 17531udb22fol1r A 17531udb22fol1r zu 17531udb22fol1r dieser 17531udb22fol1r Koordinate 17531udb22fol1r

a 17531udb22fol1r = 17531udb22fol1r y 17531udb22fol1r + 17531udb22fol1r 1 17531udb22fol1r - 17531udb22fol1r kx

17531udb22fol1r

Ähnlich 17531udb22fol1r läßt 17531udb22fol1r sich 17531udb22fol1r auch 17531udb22fol1r b 17531udb22fol1r berechnen. 17531udb22fol1r Der 17531udb22fol1r Punkt 17531udb22fol1r B 17531udb22fol1r liegt 17531udb22fol1r unterhalb 17531udb22fol1r des 17531udb22fol1r exakten 17531udb22fol1r Punktes 17531udb22fol1r der 17531udb22fol1r Gerade. 17531udb22fol1r b 17531udb22fol1r = 17531udb22fol1r kx 17531udb22fol1r - 17531udb22fol1r y

17531udb22fol1r

Jetzt 17531udb22fol1r kann 17531udb22fol1r leicht 17531udb22fol1r entschieden 17531udb22fol1r werden, 17531udb22fol1r welcher 17531udb22fol1r Punkt 17531udb22fol1r gezeichnet 17531udb22fol1r wird.

Ist 17531udb22fol1r a 17531udb22fol1r kleiner 17531udb22fol1r b 17531udb22fol1r wird 17531udb22fol1r A 17531udb22fol1r gezeichnet. 17531udb22fol1r Ist 17531udb22fol1r b 17531udb22fol1r kleiner 17531udb22fol1r a 17531udb22fol1r wird 17531udb22fol1r B 17531udb22fol1r gezeichnet.

Es 17531udb22fol1r ist 17531udb22fol1r also 17531udb22fol1r wichtig 17531udb22fol1r die 17531udb22fol1r Differenz 17531udb22fol1r zu 17531udb22fol1r berechnen:

17531udb22fol1r

b 17531udb22fol1r - 17531udb22fol1r a 17531udb22fol1r = 17531udb22fol1r kx 17531udb22fol1r - 17531udb22fol1r y 17531udb22fol1r - 17531udb22fol1r (y 17531udb22fol1r + 17531udb22fol1r 1 17531udb22fol1r - 17531udb22fol1r kx)

17531udb22fol1r

Die 17531udb22fol1r Steigung 17531udb22fol1r kann 17531udb22fol1r man 17531udb22fol1r aus 17531udb22fol1r dem 17531udb22fol1r Quotienten 17531udb22fol1r der 17531udb22fol1r Differenzen 17531udb22fol1r der 17531udb22fol1r Koordinaten

berechnen.

Y2 17531udb22fol1r - 17531udb22fol1r Y1 17531udb22fol1r DY

k 17531udb22fol1r = 17531udb22fol1r ------------- 17531udb22fol1r = 17531udb22fol1r ------

X2 17531udb22fol1r - 17531udb22fol1r X1 17531udb22fol1r DX

17531udb22fol1r

Diesen 17531udb22fol1r Term 17531udb22fol1r setzt 17531udb22fol1r man 17531udb22fol1r nun 17531udb22fol1r in 17531udb22fol1r den 17531udb22fol1r Ausdruck 17531udb22fol1r (b-a) 17531udb22fol1r ein:

17531udb22fol1r

DY 17531udb22fol1r DY

b 17531udb22fol1r - 17531udb22fol1r a 17531udb22fol1r = 17531udb22fol1r ------ 17531udb22fol1r x 17531udb22fol1r - 17531udb22fol1r y 17531udb22fol1r - 17531udb22fol1r (y 17531udb22fol1r + 17531udb22fol1r 1 17531udb22fol1r - 17531udb22fol1r ------ 17531udb22fol1r x)

DX 17531udb22fol1r DX

17531udb22fol1r

Diesen 17531udb22fol1r Ausdruck 17531udb22fol1r kann 17531udb22fol1r man 17531udb22fol1r vereinfachen:

DY

Klammer 17531udb22fol1r auflösen 17531udb22fol1r -> 17531udb22fol1r b 17531udb22fol1r - 17531udb22fol1r a 17531udb22fol1r = 17531udb22fol1r 2 17531udb22fol1r ------ 17531udb22fol1r x 17531udb22fol1r - 17531udb22fol1r 2y 17531udb22fol1r - 17531udb22fol1r 1

DX

17531udb22fol1r

---> 17531udb22fol1r (b 17531udb22fol1r - 17531udb22fol1r a) 17531udb22fol1r DX 17531udb22fol1r = 17531udb22fol1r 2 17531udb22fol1r (DY 17531udb22fol1r x 17531udb22fol1r - 17531udb22fol1r y 17531udb22fol1r DX) 17531udb22fol1r - 17531udb22fol1r DX

17531udb22fol1r

Der 17531udb22fol1r Trick 17531udb22fol1r beim 17531udb22fol1r Bresenham-Algorithmus 17531udb22fol1r liegt 17531udb22fol1r nun 17531udb22fol1r darin, 17531udb22fol1r daß 17531udb22fol1r man 17531udb22fol1r die 17531udb22fol1r Differenz

(b 17531udb22fol1r - 17531udb22fol1r a) 17531udb22fol1r nicht 17531udb22fol1r jedesmal 17531udb22fol1r völlig 17531udb22fol1r neu 17531udb22fol1r berechnet, 17531udb22fol1r sondern 17531udb22fol1r jeden 17531udb22fol1r neuen 17531udb22fol1r Punkt 17531udb22fol1r aus

der 17531udb22fol1r Differenz 17531udb22fol1r des 17531udb22fol1r letzten 17531udb22fol1r Punktes 17531udb22fol1r ableitet. 17531udb22fol1r Für 17531udb22fol1r den 17531udb22fol1r Ausdruck 17531udb22fol1r (a 17531udb22fol1r - 17531udb22fol1r b) 17531udb22fol1r ergibt 17531udb22fol1r sich 17531udb22fol1r an 17531udb22fol1r der 17531udb22fol1r Stelle 17531udb22fol1r Xi 17531udb22fol1r und 17531udb22fol1r Yi:

17531udb22fol1r

(bi 17531udb22fol1r - 17531udb22fol1r ai) 17531udb22fol1r DX 17531udb22fol1r = 17531udb22fol1r 2 17531udb22fol1r (DY 17531udb22fol1r xi 17531udb22fol1r - 17531udb22fol1r yi 17531udb22fol1r DX) 17531udb22fol1r - 17531udb22fol1r DX

17531udb22fol1r

Für 17531udb22fol1r den 17531udb22fol1r nächsten 17531udb22fol1r Punkt 17531udb22fol1r ergibt 17531udb22fol1r sich 17531udb22fol1r analog 17531udb22fol1r dazu:

17531udb22fol1r

(bi+1 17531udb22fol1r - 17531udb22fol1r ai+1) 17531udb22fol1r DX 17531udb22fol1r = 17531udb22fol1r 2 17531udb22fol1r (DY 17531udb22fol1r xi+1 17531udb22fol1r - 17531udb22fol1r yi+1 17531udb22fol1r DX) 17531udb22fol1r - 17531udb22fol1r DX

17531udb22fol1r

Um 17531udb22fol1r festzustellen, 17531udb22fol1r wie 17531udb22fol1r man 17531udb22fol1r anhand 17531udb22fol1r von 17531udb22fol1r (bi 17531udb22fol1r - 17531udb22fol1r ai) 17531udb22fol1r DX 17531udb22fol1r den 17531udb22fol1r Ausdruck 17531udb22fol1r

(bi+1 17531udb22fol1r - 17531udb22fol1r ai+1) 17531udb22fol1r DX 17531udb22fol1r berechnen 17531udb22fol1r kann, 17531udb22fol1r zieht 17531udb22fol1r man 17531udb22fol1r beide 17531udb22fol1r Terme 17531udb22fol1r voneinander 17531udb22fol1r ab:

17531udb22fol1r

(bi+1 17531udb22fol1r - 17531udb22fol1r ai+1) 17531udb22fol1r DX 17531udb22fol1r - 17531udb22fol1r (bi 17531udb22fol1r - 17531udb22fol1r ai) 17531udb22fol1r DX 17531udb22fol1r = 17531udb22fol1r 2 17531udb22fol1r (DY 17531udb22fol1r xi+1 17531udb22fol1r - 17531udb22fol1r yi+1 17531udb22fol1r DX) 17531udb22fol1r - 17531udb22fol1r DX 17531udb22fol1r -

( 17531udb22fol1r 2 17531udb22fol1r (DY 17531udb22fol1r xi 17531udb22fol1r - 17531udb22fol1r yi 17531udb22fol1r DX) 17531udb22fol1r - 17531udb22fol1r DX)

17531udb22fol1r

Durch 17531udb22fol1r Umformung 17531udb22fol1r erreicht 17531udb22fol1r man 17531udb22fol1r daraus:

17531udb22fol1r

2 17531udb22fol1r (DY 17531udb22fol1r xi+1 17531udb22fol1r - 17531udb22fol1r yi+1 17531udb22fol1r DX) 17531udb22fol1r - 17531udb22fol1r DX 17531udb22fol1r -2 17531udb22fol1r (DY 17531udb22fol1r xi 17531udb22fol1r - 17531udb22fol1r yi 17531udb22fol1r DX) 17531udb22fol1r + 17531udb22fol1r DX

17531udb22fol1r

= 17531udb22fol1r 2 17531udb22fol1r (DY 17531udb22fol1r xi+1 17531udb22fol1r - 17531udb22fol1r yi+1 17531udb22fol1r DX 17531udb22fol1r - 17531udb22fol1r (DY 17531udb22fol1r xi 17531udb22fol1r - 17531udb22fol1r yi 17531udb22fol1r DX)

17531udb22fol1r

= 17531udb22fol1r 2 17531udb22fol1r (DY 17531udb22fol1r xi+1 17531udb22fol1r - 17531udb22fol1r yi+1 17531udb22fol1r DX 17531udb22fol1r - 17531udb22fol1r DY 17531udb22fol1r xi 17531udb22fol1r + 17531udb22fol1r yi 17531udb22fol1r DX)

17531udb22fol1r

= 17531udb22fol1r 2 17531udb22fol1r (DY 17531udb22fol1r (xi+1 17531udb22fol1r - 17531udb22fol1r xi) 17531udb22fol1r - 17531udb22fol1r DX(yi+1 17531udb22fol1r - 17531udb22fol1r yi))

17531udb22fol1r

Da 17531udb22fol1r die 17531udb22fol1r X-Koordinaten 17531udb22fol1r immer 17531udb22fol1r nebeneinander 17531udb22fol1r liegen, 17531udb22fol1r gilt:

17531udb22fol1r

xi+1 17531udb22fol1r - 17531udb22fol1r xi 17531udb22fol1r = 17531udb22fol1r 1

17531udb22fol1r

Jetzt 17531udb22fol1r setzt 17531udb22fol1r man 17531udb22fol1r Eins 17531udb22fol1r in 17531udb22fol1r den 17531udb22fol1r obigen 17531udb22fol1r Term 17531udb22fol1r ein:

17531udb22fol1r

2 17531udb22fol1r (DY 17531udb22fol1r - 17531udb22fol1r DX 17531udb22fol1r (yi+1 17531udb22fol1r - 17531udb22fol1r yi))

17531udb22fol1r

Entweder 17531udb22fol1r beträgt 17531udb22fol1r der 17531udb22fol1r Ausdruck 17531udb22fol1r null 17531udb22fol1r oder 17531udb22fol1r eins. 17531udb22fol1r Ein 17531udb22fol1r Wert 17531udb22fol1r von 17531udb22fol1r null 17531udb22fol1r tritt 17531udb22fol1r dann 17531udb22fol1r auf 17531udb22fol1r wenn 17531udb22fol1r Punkt 17531udb22fol1r B 17531udb22fol1r gesetzt 17531udb22fol1r wurde. 17531udb22fol1r In 17531udb22fol1r diesem 17531udb22fol1r Fall 17531udb22fol1r ist 17531udb22fol1r yi+1 17531udb22fol1r - 17531udb22fol1r yi 17531udb22fol1r = 17531udb22fol1r 0 17531udb22fol1r => 17531udb22fol1r 2 17531udb22fol1r DY 17531udb22fol1r

Ein 17531udb22fol1r Wert 17531udb22fol1r von 17531udb22fol1r eins 17531udb22fol1r tritt 17531udb22fol1r dann 17531udb22fol1r auf 17531udb22fol1r wenn 17531udb22fol1r A 17531udb22fol1r gesetzt 17531udb22fol1r wurde. 17531udb22fol1r Es 17531udb22fol1r gilt 17531udb22fol1r yi+1 17531udb22fol1r - 17531udb22fol1r yi 17531udb22fol1r = 17531udb22fol1r 1

=> 17531udb22fol1r 2 17531udb22fol1r (DY 17531udb22fol1r - 17531udb22fol1r DX)

17531udb22fol1r

17531udb22fol1r

Die 17531udb22fol1r Differenz 17531udb22fol1r der 17531udb22fol1r beiden 17531udb22fol1r Alternativpunkte 17531udb22fol1r entweder 17531udb22fol1r 2 17531udb22fol1r DY 17531udb22fol1r oder 17531udb22fol1r 2 17531udb22fol1r DY 17531udb22fol1r - 17531udb22fol1r DX 17531udb22fol1r stellen 17531udb22fol1r Konstanten 17531udb22fol1r dar, 17531udb22fol1r die 17531udb22fol1r schon 17531udb22fol1r am 17531udb22fol1r Beginn 17531udb22fol1r des 17531udb22fol1r Programms 17531udb22fol1r einmal 17531udb22fol1r berechnet 17531udb22fol1r werden 17531udb22fol1r können, 17531udb22fol1r ebenfalls 17531udb22fol1r kann 17531udb22fol1r berechnet 17531udb22fol1r werden, 17531udb22fol1r welcher 17531udb22fol1r Alternativpunkt

gesetzt 17531udb22fol1r werden 17531udb22fol1r muß.

17531udb22fol1r

17531udb22fol1r

17531udb22fol1r

17531udb22fol1r

Das 17531udb22fol1r Programm 17531udb22fol1r in 17531udb22fol1r Pascal

17531udb22fol1r

Procedure 17531udb22fol1r Line 17531udb22fol1r (X1, 17531udb22fol1r Y1, 17531udb22fol1r X2, 17531udb22fol1r Y2: 17531udb22fol1r word; 17531udb22fol1r Farbe: 17531udb22fol1r byte);

Var

DX, 17531udb22fol1r DY, 17531udb22fol1r DAB 17531udb22fol1r : 17531udb22fol1r Integer;

IncA, 17531udb22fol1r IncB, 17531udb22fol1r IncY 17531udb22fol1r :Integer;

X, 17531udb22fol1r Y 17531udb22fol1r : 17531udb22fol1r Integer;

17531udb22fol1r

Begin

If 17531udb22fol1r X2<X1 17531udb22fol1r Then

Begin

Tausche 17531udb22fol1r (X1, 17531udb22fol1r X2); 17531udb22fol1r (* 17531udb22fol1r Die 17531udb22fol1r Koordinaten 17531udb22fol1r müssen 17531udb22fol1r ver- 17531udb22fol1r *)

Tausche 17531udb22fol1r (Y1, 17531udb22fol1r Y2); 17531udb22fol1r (* 17531udb22fol1r tauscht 17531udb22fol1r werden. 17531udb22fol1r *)

End;

If 17531udb22fol1r (Y1 17531udb22fol1r < 17531udb22fol1r Y2) 17531udb22fol1r (* 17531udb22fol1r Steigung 17531udb22fol1r positiv 17531udb22fol1r ? 17531udb22fol1r *)

Then

IncY:=1 17531udb22fol1r (* 17531udb22fol1r Y 17531udb22fol1r muß 17531udb22fol1r in 17531udb22fol1r der 17531udb22fol1r Schleife 17531udb22fol1r erhöht 17531udb22fol1r *)

Else 17531udb22fol1r (* 17531udb22fol1r werden 17531udb22fol1r *)

IncY:=-1; 17531udb22fol1r (* 17531udb22fol1r wenn 17531udb22fol1r nicht, 17531udb22fol1r Y 17531udb22fol1r abziehen 17531udb22fol1r *)

DX 17531udb22fol1r := 17531udb22fol1r X2-X1; 17531udb22fol1r (* 17531udb22fol1r Berechnung 17531udb22fol1r der 17531udb22fol1r Konstanten 17531udb22fol1r *)

DY 17531udb22fol1r := 17531udb22fol1r Y2-Y1; 17531udb22fol1r (* 17531udb22fol1r DX, 17531udb22fol1r DY, 17531udb22fol1r Differenz 17531udb22fol1r (a-b) 17531udb22fol1r *)

DAB 17531udb22fol1r := 17531udb22fol1r (DY 17531udb22fol1r SHL 17531udb22fol1r 1) 17531udb22fol1r - 17531udb22fol1r DX;

IncA 17531udb22fol1r := 17531udb22fol1r (DY 17531udb22fol1r - 17531udb22fol1r DX) 17531udb22fol1r SHL 17531udb22fol1r 1; 17531udb22fol1r (* 17531udb22fol1r Alternativwert 17531udb22fol1r für 17531udb22fol1r A 17531udb22fol1r und 17531udb22fol1r B 17531udb22fol1r *)

IncB 17531udb22fol1r := 17531udb22fol1r DY 17531udb22fol1r SHL 17531udb22fol1r 1;

X 17531udb22fol1r := 17531udb22fol1r X1;

Y 17531udb22fol1r := 17531udb22fol1r Y1;

Putpixel 17531udb22fol1r (X, 17531udb22fol1r Y, 17531udb22fol1r 2); 17531udb22fol1r (* 17531udb22fol1r Setze 17531udb22fol1r ersten 17531udb22fol1r Punkt 17531udb22fol1r *)

For 17531udb22fol1r X:= 17531udb22fol1r X1+1 17531udb22fol1r To 17531udb22fol1r X2 17531udb22fol1r Do

Begin

If 17531udb22fol1r DAB 17531udb22fol1r < 17531udb22fol1r 0 17531udb22fol1r Then 17531udb22fol1r (* 17531udb22fol1r Es 17531udb22fol1r wurde 17531udb22fol1r zuletzt 17531udb22fol1r A 17531udb22fol1r gesetzt 17531udb22fol1r *)

Begin

Dab 17531udb22fol1r := 17531udb22fol1r Dab 17531udb22fol1r + 17531udb22fol1r IncB; 17531udb22fol1r (* 17531udb22fol1r Differenz 17531udb22fol1r ändern 17531udb22fol1r und 17531udb22fol1r *)

Putpixel 17531udb22fol1r (X, 17531udb22fol1r Y, 17531udb22fol1r 2); 17531udb22fol1r (* 17531udb22fol1r Punkt 17531udb22fol1r setzen 17531udb22fol1r *)

End

Else 17531udb22fol1r (* 17531udb22fol1r Es 17531udb22fol1r wurde 17531udb22fol1r zuletzt 17531udb22fol1r B 17531udb22fol1r gesetzt 17531udb22fol1r *)

Begin

Y 17531udb22fol1r := 17531udb22fol1r Y 17531udb22fol1r + 17531udb22fol1r IncY; 17531udb22fol1r (* 17531udb22fol1r Neue 17531udb22fol1r Koordinaten 17531udb22fol1r und 17531udb22fol1r *)

Dab 17531udb22fol1r := 17531udb22fol1r Dab 17531udb22fol1r + 17531udb22fol1r IncA; 17531udb22fol1r (* 17531udb22fol1r Differenz 17531udb22fol1r ändern 17531udb22fol1r *) 17531udb22fol1r

End;

End;

End;