Sie sind auf Seite 1von 10

Computer Graphics

2 Grundlagen der Computergraphik

Prof. Dr.-Ing. R. Möller 1 2 Grundlagen der Computergraphik


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-11-24
2.1 Rasterbild-Erzeugung

2.1.1 Rasterbild-Repräsentation

Das Rasterbild besteht im Gegensatz zu einem Analogbild


aus einer endlichen Zahl von Bildelementen, genannt Pixel
(von picture element). Bildelemente erhalten Attribute: Farbe,
Helligkeit, Transparenz, ...

 Zwei Arten von Rasterbild-Repräsentationen werden


unterschieden:
➢ Semigraphik (Zellenverfahren)
➢ Vollgraphik

Das Zellenverfahren teilt das Rasterbild in Felder gleicher


Größe auf.  790516

Die Beschreibung des Bildes in einem Bildspeicher besteht


aus Schlüsselbegriffen, wovon jeder ein spezielles Feld aus
einer Feldtabelle (Symboltabelle) referenziert und diesem
gewünschte Zellenattribute zuordnet.  790517

Jedes Feld in der Feldtabelle repräsentiert ein Symbol/­


Zeichen durch eine Matrix von binär verschlüsselten
Pixeln (0 = aus, 1 = ein).  790518

Im Vollgraphikverfahren werden alle Pixel mit ihren jeweiligen


Informationen im Bildspeicher abgelegt.

Prof. Dr.-Ing. R. Möller 2 2.1 Rasterbild-Erzeugung


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-05-05
2.1.2 Linienerzeugung

 Forderung: Verbinde die Punkte A und B durch eine Linie


 Bedingungen:
➢ Die Linie muss gerade sein.
➢ Die Linie muss exakt begrenzt sein.
➢ Die Linie soll eine gleich bleibende Leuchtdichte haben,
unabhängig von Länge, Winkel und Messpunkt.
➢ Die Linie soll in Realzeit auf dem Bildschirm erscheinen.
 y 2− y 1   y 2− y 
 Ausgangspunkt: Geradengleichung =
 x 2− x 1   x 2− x 
Die ersten drei Bedingungen sind durch jedes analoge
Verfahren erfüllbar. Schnelligkeit heißt: Die Linie muss schneller
erzeugt werden, als das Auge es wahrnehmen kann.
→ Übergang auf die Rasterdarstellung.

 Folgen:
➢ Durch Rasterdarstellung ist eine Linie nicht mehr gerade!
➢ Die Zielpunktgenauigkeit ist von der Feinheit des Rasters
und von der Güte des Darstellungsalgorithmus abhängig.
➢ Die Leuchtdichte der Linie ist diskontinuierlich.

Für jeden Rasteralgorithmus existieren je Rechenschritt prinzipiell acht Bewegungsrichtungen (Bewegung in


acht Oktanten).

 Bekannte Rasteralgorithmen
➢ Bresenham-Algorithmus
➢ Digital Differential Analyzer (DDA)

Prof. Dr.-Ing. R. Möller 3 2.1 Rasterbild-Erzeugung


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-05-05
2.1.2.1 Bresenham

Veranschaulichung der Zeichenbewegungen Im ersten Oktanten sind zwei Bewegungen


auf einem Rasterschirm (oder einem Plotter). möglich: M1 und M2.

Grundlage

Wähle M1, wenn rq , das heißt r−q 0 .


Wähle M2, wenn rq , das heißt r−q 0 .

Für rechtwinklige Dreiecke gilt nach dem Ähnlichkeitssatz sign r−q=sign r ' −q '  .

Definition eines Schaltkriteriums S i =r i ' −q i '  dx mit dx= x 2 − x 1 und dy= y 2− y 1

Prof. Dr.-Ing. R. Möller 4 2.1 Rasterbild-Erzeugung


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-05-05
Hinführung auf bekannte Größen
dy
S i =bi −b R , i −bQ , i −bi  dx mit bi = a
dx i

dy dy
S i = ai −b R , i −b Q , i  a i dx , S i =2dy a i−b R , i bQ , i  dx
dx dx

mit den folgenden Kenngrößen für den ersten Oktanten: ai =a i−11 ; b R , i =bi −1 ; b Q , i=b i−1 1

ergibt sich S i =2dy a i−1 1−2b i−1 1 dx . Für den ersten Schritt i=1, a 0=b0=0 also: S 1 =2dy−dx

Entwicklung des Schaltkriteriums für M1 Entwicklung des Schaltkriteriums für M2

Wähle M1, wenn S i 0 , das heißt bi =bi−1 Wähle M2, wenn S i0 , das heißt bi =bi−1 1
und a i =ai−1 1 mit und a i =ai−1 1 mit

S i=2dy ai−1 1−2b i−11 dx S i=2dy ai−1 1−2b i−11 dx

S i1=2dya i 1−2b i 1 dx S i1=2dya i 1−2b i 1dx

S i1=2dya i−1 2−2bi−11dx S i1=2dya i−1 2−2bi−12 dx

S i = S i−1 2dy S i = S i−1 2dy2dx

Prof. Dr.-Ing. R. Möller 5 2.1 Rasterbild-Erzeugung


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-05-05
Zusammenfassung
Bresenham-Algorithmus

Wenn für jeden Oktanten ein geeigneter Satz Bewegungsvektoren M1, M2 festgelegt wird (verbunden mit den
orientierten a,b-Koordinatensystemen) kann der notwendige Schreibschritt mit Hilfe von S vorgenommen
werden. Dabei kann dasselbe Gleichungssystem beibehalten werden (ohne Beweis).

Zur Festlegung von S dienen sign dx und sign dy sowie sign∣dx∣−∣dy∣ .

Die Signum-Funktion kann verwendet werden, da in allen Fällen eine Schrittweite ±1 von verwendet wird.

a) Vorteile 
➢ In ähnlicher Weise können auch Kurven (Kreise, Ellipsen) erzeugt werden. Der vorstehende Algorithmus
ist für die Erkennung eines Oktantenwechsels zu erweitern.
➢ Es sind weder Divisionen noch Multiplikationen im Algorithmus enthalten. Er eignet sich deshalb für eine
Realisierung in Hardware.

b)Nachteile 
➢ Für einen Realzeit-Darstellungsgenerator ist der Algorithmus nicht geeignet, da er keine Korrelation
zur Zeilenstruktur eines Rastersichtgerätes besitzt.
➢ Für die Darstellung farbig gefüllter Flächen ist dieser Algorithmus allein nicht verwendbar.

Prof. Dr.-Ing. R. Möller 6 2.1 Rasterbild-Erzeugung


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-05-05
2.1.2.2 Digital Differential Analyzer (DDA)

Symmetrischer DDA Unsymmetrischer DDA (Einfacher DDA)


dy  y  dy  y 
Grundlage: = Grundlage: =
dx  x dx  x

1
gewählt: =2−n gewählt: =max ∣ x∣ ,∣ y∣
n−1 n 
so dass: 2 max ∣ x∣ ,∣ y∣2

Der symmetrische DDA behandelt alle Der unsymmetrische DDA legt für eine Bewe­
Koordinatenrichtungen gleich. Er ist dadurch gungsrichtung die Schrittweite eins (1 Pixel)
gekennzeichnet, dass alle Bewegungs­ fest. (Ähnlich wird bei Bresenham verfahren:
richtungen mit konstanter Schrittweite Hier ist jedoch die Schrittweite in beiden
durchlaufen werden. Richtungen kleiner oder gleich eins.)
Achtung: Bildschirmadressen sind immer Dies entspricht besonders den Anforderungen
ganzzahlig → Rundung. für einen Darstellungsgenerator in einem
Rastersichtgerät, wenn er in Realzeit (d.h.:
während der Strahllaufzeit) darstellen soll.

Prof. Dr.-Ing. R. Möller 7 2.1 Rasterbild-Erzeugung


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-05-05
Der Vektorgenerator

Ausgehend von der Grundgleichung einer


Geraden y=mxc mit m=dx/ dy und dy=1
gesetzt, lässt sich ein einfacher Algorithmus
formulieren (gegeben sind: xstart, ystart, ystop
und m):

begin
INC := 1/m (=dx)
xstop := xstart /*Anfangswert*/
y := ystart /*Anfangswert*/
xh := xstart /*Hilfsvariable*/
Loop: xstart := xstop
xh := xh + INC
xstop := int(xh)
darstellen(xstart bis xstop)
while (y<=ystop){
y := y+1
goto Loop
}
end
Die Berechnung der xstart- und xstop-Werte
muss genau erfolgen, um einerseits die
Endpunkte richtig zu erreichen und anderer­
seits die Linie möglichst gerade zu führen.

Prof. Dr.-Ing. R. Möller 8 2.1 Rasterbild-Erzeugung


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-05-05
Exkurs Geradendarstellung (2D)
 Allgemeine Geradengleichung (2D) mit:
0=ax byc a = y 2 – y 1 d ; b= x 1− x 2 d ; c=x 2 y 1− x 1 y 2 d
d : Proportionalitätsfaktor
beschreibt die Menge aller Gleichungen, die dieselbe Gerade erzeugen

 Übergang auf eine Strecke:  Übergang auf Vektoren:


(Linie zwischen A und B) (Durch Länge und Winkel charakterisierte
Strecken, mit einem Anfangspunkt)

{
0=axbyc
S : min y A , y B ≤ y≤max  y A , y B 
min x A , x B ≤ x≤max  x A , x B 
S=  
x
y

Prof. Dr.-Ing. R. Möller 9 2.1 Rasterbild-Erzeugung


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-05-05
Einfacher/Unsymmetrischer DDA Symmetrischer DDA

exakte Form:

x alt = x alt   x x neu=round  x alt  y= y1 x neu= x alt   x x alt = x neu


y neu = y alt   x y alt = y neu

Rasterform:

x alt = x alt   x x neu =round  x alt 

Prof. Dr.-Ing. R. Möller 10 2.1 Rasterbild-Erzeugung


CG-02.1-Grundlagen-Rasterbild-Erzeugung.odt 2010-05-05

Das könnte Ihnen auch gefallen