Der Algorithmus von Bresenham

Ähnliche Dokumente
Lineare Funktion Eigenschaften von linearen Funktionen Übungen Bearbeite zu jeder der gegebenen Funktionen die Fragen:

M I N I S T E R I U M F Ü R K U L T U S, J U G E N D U N D S P O R T. Berufsoberschule (BOS) SO/TO/WO. 2 2x

Immer geradeaus. Umständliche Fließkommaberechnungen bremsen einen einfachen Algorithmus

Über die Bedeutung der zwei Zahlen m und x 1 für das Aussehen des Graphen wird an anderer Stelle informiert.

Skript Analysis. sehr einfach. Erstellt: Von:

Abstand Punkt/Ebene. x 50 = 0

Selbsteinschätzungstest Auswertung und Lösung

Eigenschaften von Funktionen

y = 2 x 4 y = x + 1,5

Kurvendiskussion. Gesetzmäßigkeiten. Lineare Funktionen. Funktionsgleichung

QUADRATISCHE UND KUBISCHE FUNKTION

Hauptprüfung 2006 Aufgabe 1

8 Kurven in der Ebene

DIFFERENTIALRECHNUNG - ABLEITUNG

Station 1 TERME BEGRIFFE 1. Station 2 ADDITION UND SUBTRAKTION GANZER ZAHLEN. Berechne a) 7 13 = b) 7 13 = d) = h) = f) 9 28 = g) 9 28 =

1.1. Geradengleichung aus Steigung und y-achsenabschnitt

Lineare Funktion. Wolfgang Kippels 3. November Inhaltsverzeichnis

Lösungen zum Arbeitsblatt: y = mx + b Alles klar???

Prüfungsteil B, Aufgabengruppe 2, Analysis. Bayern Aufgabe 1. Bundesabitur Mathematik: Musterlösung. Abitur Mathematik Bayern 2014

Lineare Funktion. Wolfgang Kippels 21. März 2011

Übungsaufgaben zu linearen Gleichungen und Funktionen117

Prüfungsteil B, Aufgabengruppe 1: Analysis. Bayern Aufgabe 1. BundesabiturMathematik: Musterlösung

Lineare Funktionen. Die lineare Funktion

Koordinatengeometrie. Aufgabe 4 Untersuchen Sie die Funktion f(x) = x² 9.

Die Steigung m ist ein Quotient zweier Differenzen und heißt daher Differenzenquotient.

Differentialrechnung Taschenrechner Differenzialrechnung Üben Ermitteln von Funktionsgleichungen. Mathematik W15. Mag. Rainer Sickinger LMM, BR

Quadratische Funktion

Hausaufgaben zu Geradengleichungen

Ableitungen von skalaren Feldern Der Gradient

5 Die Gerade g 1 hat die Gleichung 6: y = 1 }

Abiturprüfung Mathematik 2017 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analysis A 2 Lösungen der Aufgaben A 2.1 und A 2.

Aufgabe 2: Analysis (WTR)

Differentialrechnung. Mathematik W14. Christina Sickinger. Berufsreifeprüfung. v 1 Christina Sickinger Mathematik W14 1 / 79

Zum Schluss berechnen wir die Steigung, indem wir

Themenerläuterung. Die wichtigsten benötigten Formeln

Die Quadratische Gleichung (Gleichung 2. Grades)

Abiturprüfung Mathematik 2007 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

1.2 Berechne den Inhalt der Fläche, die das Schaubild von mit 5P der -Achse einschließt.

Check-1. (1/8) erstellt: (WUL); zuletzt geändert: (WUL)

Plotten von Linien ( nach Jack Bresenham, 1962 )

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Hauptprüfung 2007 Aufgabe 3

Lineare Funktionen Arbeitsblatt 1

Thema 1: Geraden zeichnen Punkte berechnen. Ein Lese- und Übungsheft. 7 Seiten Einführung und Theorie. 22 Seiten Aufgaben mit Lösungen

Klausur Mathematik, 1. Oktober 2012, A

Kreis - Tangente. 2. Vorbemerkung: Satz des Thales Eine Möglichkeit zur Bestimmung der Tangente benutzt den Satz des Thales.

Lösung Matura 6J und 6K (2007)

MATHE KLASSE 11. Funktionen Extremwerte lineare Funktionen WOLFGANG STILLER

Aufgabensammlung zum Üben Blatt 1

Wavelets made easy Yves Nievergelt

min km/h

6.2 Scan-Konvertierung (Scan Conversion)

1.4 Schaubild von Schaubild von Schaubild von 1., /

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Mathematik Klasse 11 Maximilian Ernestus 1

Abschlussprüfung Mathematik 12 Nichttechnik A II - Lösung

Aufgabe 2 Tippkarte. Aufgabe 1 Tippkarte. Aufgabe 4 Tippkarte. Aufgabe 3 Tippkarte

Die Ellipse gehört so wie der Kreis, die Hyperbel und die Parabel zu den Kegelschnitten.

Die Funktion ist gegeben durch ; 0. a) Die Tangente an den Graphen von im Punkt verläuft durch 0 0,5. Bestimmen Sie die Koordinaten von.

Hauptprüfung Abiturprüfung 2018 (ohne CAS) Baden-Württemberg

Aufgabe 1 Eine erste Modellierung des erschnis der Tunnelwand verwendet die Funktion : mit Definitionsbereich =[-5; 5].

B Anwendungen der Differenzialrechnung

13. Klasse TOP 10 Grundwissen 13 Geradengleichungen 01

mathphys-online Abschlussprüfung Berufliche Oberschule 2011 Mathematik 12 Technik - A II - Lösung Teilaufgabe 1.0

Mathe-Abitur ab 2004: Fundus für den Pflichtbereich Lösungen (1)

C Aufgabe 1 [6 Punkte] Bestimmen Sie den Winkel α im Trapez ABCD. 5. = 4 + i, z 2. = i

III. Integralrechnung 7. Übungen für die Klausur Teil 1 - Integralrechnung

Themenerläuterung. Die wichtigsten benötigten Formeln 1. Der Umgang mit der Mitternachtsformel

Beide Geraden haben die Steigung 2, also sind sie parallel zueinander.

1.2 Weisen Sie rechnerisch nach, dass das Schaubild der Funktion mit 4P! bei 1 einen Sattelpunkt aufweist.

Abitur 2017 Mathematik Infinitesimalrechnung II

Mathematik: Mag. Schmid Wolfgang+ LehrerInnenTeam ARBEITSBLATT 6-8 UMKEHRAUFGABEN ZUR KURVENDISKUSSION

Pflichtteil. Baden-Württemberg Aufgabe 1. Aufgabe 2. Musterlösung. Abitur Mathematik Baden-Württemberg Abitur Mathematik: Musterlösung

, 1,52,251,75, 1,5 4, 1,52

Lösung - Serie 7. D-MAVT/D-MATL Analysis I HS 2016 Dr. Andreas Steiger. 1. MC-Aufgaben (Online-Abgabe)

Logarithmische Skalen

Abiturprüfung Mathematik 13 Technik A II - Lösung

Abitur 2011 G8 Musterabitur Mathematik Infinitesimalrechnung

1. Funktionen. 1.3 Steigung von Funktionsgraphen

= mit der Definitionsmenge D f = IR \ { 1 ; 3 }.

Abitur 2017 Mathematik Infinitesimalrechnung I

= a) Berechnen Sie die fehlenden Funktionswerte der Wertetabelle. n

m und schneidet die y-achse im Punkt P(0/3).

QUADRATISCHE FUNKTIONEN

Skript Lineare Algebra

Analysis f(x) = x 2 1. (x D f )

Urs Wyder, 4057 Basel Funktionen. f x x x x 2

Abiturprüfung Mathematik 13 Technik A II - Lösung mit CAS

Transkript:

Der Algorithmus von Bresenham Das Bresenham-Verfahren beruht im wesentlichen auf zwei grundsätzliche Beobachtungen: - Es reicht ein Verfahren aus um Geraden mit einer Steigung im Bereich von null bis eins darzustellen. - Es kommen für die Linie prinzipiell immer nur zwei Punkte in Frage, die als nächstes gezeichnet werden dürfen. Die erste Behauptung läßt sich einfach erklären. Wenn eine Gerade eine Steigung von minimal null und maximal eins hat, dann liegt sie zwischen einer Waagerechten und einer Geraden, die einen Winkel von 45 Grad mit der X-Achse einschließt. Es gibt natürlich auch Geraden mit einer steileren Steigung als eins. Doch alle diese Geraden kann man auch erhalten, indem man eine Gerade mir der Steigung null bis eins um die Winkelhalbierende spiegelt. Dies kann man leicht erreichen, indem man die X- und Y- Koordinaten austauscht. Bleiben noch Geraden mit einer negativen Steigung, also "fallende" Geraden,

übrig. Doch auch diese lassen sich herleiten, indem man die entsprechende Gerade an der X-Achse spiegelt. Das erreicht man durch das Umdrehen des Vorzeichens der Y-Koordinate. Die zweite wichtige Voraussetzung des Algorithmus basiert nun auf der erstgenannten. Sie besagt, daß bei allen Geraden die aufwendigen Berechnungen unter Einbeziehung der Steigung überflüssig sind. Wenn man vom Anfangspunkt einer "Grund-Geraden" ausgeht, kommen generell nur zwei Punkte in Frage, die als nächste gezeichnet werden dürfen. nend mit dem Anfangspunkt wird kontinuierlich entschieden, ob der rechts davon liegende Punkt A oder B dargestellt werden muß. Von diesem Punkt wird wieder weiter entschieden. Jetzt stellt sich die Frage wie entschieden wird? Dazu muß herausgefunden werden, welcher Punkt, A oder B, näher der tatsächlichen Gerade liegt. Es wird von der Geradengleichung y = kx + d ausgegangen. Bei der Bresenham-Methode wird der Einfachheit halber davon ausgegangen, daß der Anfangspunkt der Gerade durch den Ursprung geht. Daher wird d zu null und die Gleichung vereinfacht sich zu: y = kx Der Bresenham-Algorithmus berechnet die Koordinaten jedes einzelnen Punktes, indem vom zuletzt gezeichneten Punkt ausgegangen wird. Der Punkt P besitzt die Koordinaten X und Y. Als nächster Punkt kommt entweder A oder B mit den Koordinaten X+1 und Y+1 bzw. X+1 und Y. Der Punkt A liegt oberhalb der tatsächlichen Geraden. Die tatsächliche Y-Koordinate an der Stelle X ergibt sich aus der Geradengleichung: y = kx Daher beträgt der Abstand des Punktes A zu dieser Koordinate a = y + 1 - kx

Ähnlich läßt sich auch b berechnen. Der Punkt B liegt unterhalb des exakten Punktes der Gerade. b = kx - y Jetzt kann leicht entschieden werden, welcher Punkt gezeichnet wird. Ist a kleiner b wird A gezeichnet. Ist b kleiner a wird B gezeichnet. Es ist also wichtig die Differenz zu berechnen: b - a = kx - y - (y + 1 - kx) Die Steigung kann man aus dem Quotienten der Differenzen der Koordinaten berechnen. Y2 - Y1 DY k = ------------- = ------ X2 - X1 DX Diesen Term setzt man nun in den Ausdruck (b-a) ein: DY DY b - a = ------ x - y - (y + 1 - ------ x) DX DX Diesen Ausdruck kann man vereinfachen: DY Klammer auflösen -> b - a = 2 ------ x - 2y - 1 DX ---> (b - a) DX = 2 (DY x - y DX) - DX Der Trick beim Bresenham-Algorithmus liegt nun darin, daß man die Differenz (b - a) nicht jedesmal völlig neu berechnet, sondern jeden neuen Punkt aus der Differenz des letzten Punktes ableitet. Für den Ausdruck (a - b) ergibt sich an der Stelle Xi und Yi: (bi - ai) DX = 2 (DY xi - yi DX) - DX

Für den nächsten Punkt ergibt sich analog dazu: (bi+1 - ai+1) DX = 2 (DY xi+1 - yi+1 DX) - DX Um festzustellen, wie man anhand von (bi - ai) DX den Ausdruck (bi+1 - ai+1) DX berechnen kann, zieht man beide Terme voneinander ab: (bi+1 - ai+1) DX - (bi - ai) DX = 2 (DY xi+1 - yi+1 DX) - DX - ( 2 (DY xi - yi DX) - DX) Durch Umformung erreicht man daraus: 2 (DY xi+1 - yi+1 DX) - DX -2 (DY xi - yi DX) + DX = 2 (DY xi+1 - yi+1 DX - (DY xi - yi DX) = 2 (DY xi+1 - yi+1 DX - DY xi + yi DX) = 2 (DY (xi+1 - xi) - DX(yi+1 - yi)) Da die X-Koordinaten immer nebeneinander liegen, gilt: xi+1 - xi = 1 Jetzt setzt man Eins in den obigen Term ein: 2 (DY - DX (yi+1 - yi)) Entweder beträgt der Ausdruck null oder eins. Ein Wert von null tritt dann auf wenn Punkt B gesetzt wurde. In diesem Fall ist yi+1 - yi = 0 => 2 DY Ein Wert von eins tritt dann auf wenn A gesetzt wurde. Es gilt yi+1 - yi = 1 => 2 (DY - DX)

Die Differenz der beiden Alternativpunkte entweder 2 DY oder 2 DY - DX stellen Konstanten dar, die schon am n des Programms einmal berechnet werden können, ebenfalls kann berechnet werden, welcher Alternativpunkt gesetzt werden muß. Das Programm in Pascal Procedure Line (X1, Y1, X2, Y2: word; Farbe: byte); Var DX, DY, DAB : Integer; IncA, IncB, IncY :Integer; X, Y : Integer; If X2<X1 Then Tausche (X1, X2); (* Die Koordinaten müssen ver- *) Tausche (Y1, Y2); (* tauscht werden. *) If (Y1 < Y2) (* Steigung positiv? *) Then IncY:=1 (* Y muß in der Schleife erhöht *) Else (* werden *) IncY:=-1; (* wenn nicht, Y abziehen *) DX := X2-X1; (* Berechnung der Konstanten *) DY := Y2-Y1; (* DX, DY, Differenz (a-b) *) DAB := (DY SHL 1) - DX; IncA := (DY - DX) SHL 1; (* Alternativwert für A und B *) IncB := DY SHL 1; X := X1; Y := Y1; Putpixel (X, Y, 2); (* Setze ersten Punkt *)

For X:= X1+1 To X2 Do If DAB < 0 Then (* Es wurde zuletzt A gesetzt *) Dab := Dab + IncB; (* Differenz ändern und *) Putpixel (X, Y, 2); (* Punkt setzen *) End Else (* Es wurde zuletzt B gesetzt *) Y := Y + IncY; (* Neue Koordinaten und *) Dab := Dab + IncA; (* Differenz ändern *)