You are on page 1of 27

Raunarska geometrija i raunarska grafika

Raunarska geometrija:
deo matematike koji se bavi algoritamskim reavanjem geometrijskih problema

Raunarska grafika:
granina oblast raunarstva i geometrije koja se bavi vernim prikazivanjem geometrijskih objekata na ekranu

Kontinualni i diskretni prostori


2D prostor u kome se modeliraju matematiki objekti je kontinualan
dui, krunice ili krive nemaju debljinu

Ekran (ili drugi rasterski izlazni ureaj) je diskretan


sastavljen od konanog skupa taaka (piksela) take mogu biti u dva stanja (monohromatski) ili veeg broja stanja iz konanog skupa (kolor)

Kako verno predstaviti geometrijske objekte na ekranu?

Bresenhamov algoritam za crtanje dui


Izraunava piksele koje treba osvetliti odnosno ukljuiti Inkrementalni algoritam
izraunava se piksel po piksel

1/6

Bresenhamov algoritam za crtanje dui


Pretpostavimo da je osvetljena taka P(x,y) Koju sledeu taku treba osvetliti: Q1 ili Q2?

2/6

Q2(x+1,y+1)

P(x,y)

Q1(x+1,y)

Bresenhamov algoritam za crtanje dui


Taka M se nalazi na polovini dui Q1Q2 Ako du prolazi iznad M, osvetliemo Q2 U drugom sluaju osvetliemo Q1

3/6

Q2(x+1,y+1)

P(x,y)

Q1(x+1,y)

Bresenhamov algoritam za crtanje dui

4/6

Prikazani algoritam radi ispravno samo ako du ima nagib od 0 do 45

0 - 45

Preostali sluajevi:
45 - 90 -45 - 0 -90 - -45
Zona 2 Zona 1

Zona 3 Zona 4

Bresenhamov algoritam za crtanje dui


Zona 1:
Q1(x+1,y) ili Q2(x+1,y+1)

5/6

Za tekuu taku P(x,y) naredna taka se bira na sledei nain:

Zona 2:
Q1(x,y+1) ili Q2(x+1,y+1)

Zona 3:
Q1(x-1,y) ili Q2(x-1, y-1)

Zona 4:
Q1(x,y-1) ili Q2(x-1,y-1)

Bresenhamov algoritam za crtanje dui


Primer

6/6

Linije razliite debljine


Prekrivanje centara piksela paralelogramom irina paralelograma odreena je debljinom linije Oni pikseli iji centri su unutar paralelograma su osvetljeni

Isecanje vidljivog dela dui (clipping)


u sluaju da se du prostire izvan vidljivog dela ravni potrebno je pre crtanja ukloniti delove koji se nee videti

(xmax, ymax)

(x1, y1) (x1, y1)

(xmin, ymin) (x0, y0)

(x0, y0)

Bresenhamov algoritam za crtanje krunice


Simetrija krunice
Ako je osvetljen piksel P(x,y) tada su osvetljeni i sledei pikseli:
(-x,y) (-x,-y) (x,-y) (y,x) (y,-x) (-y,x) (-y,-x)

1/4

(-x,y) (-y,x)

(x,y)

(y,x)

(-y,-x) (-x,-y) (x,-y)

(y,-x)

Bresenhamov algoritam za crtanje krunice


Izraunavanje piksela koji se osvetljavaju radi se samo za interval [45, 90] osmina kruga Na osnovu izraunatog piksela osvetljava se i preostalih sedam simetrinih piksela

2/4

Bresenhamov algoritam za crtanje krunice


Pretpostavimo da je osvetljena taka P(x,y) Koju sledeu taku treba osvetliti: Q1 ili Q2?

3/4

P(x,y)

Q1(x+1,y)

Q2(x+1,y-1)

Bresenhamov algoritam za crtanje krunice


Taka M se nalazi na polovini dui Q1Q2 Ako je taka M unutar krunice, osvetliemo Q1 U drugom sluaju osvetliemo Q2
P(x,y) Q1(x+1,y)

4/4

Q2(x+1,y-1)

Crtanje splajnova
Hornerov metod

1/3

Za splajn dat parametarskim polinomima: x(t) = axt3 + bxt2 +cxt +dx y(t) = ayt3 + byt2 + cyt +dy prethodne izraze zapiemo u drugaijem obliku: x(t) = [(axt + bx)t + cx]t + dx y(t) = [(ayt + by)t + cy]t + dy Za izraunavanje jedne koordinate jedne take potrebna su tri mnoenja i tri sabiranja

Crtanje splajnova
Bzierov metod

2/3

osvetlimo sredinju taku splajna odreivanje sredinje take:


taka taka taka taka taka taka X je na sredini dui AB Y je na sredini dui BC Z je na sredini dui CD P je na sredini dui XY Q je na sredini dui YZ M sredinja taka splajna je na sredini dui PQ
Y B P X M Q Z C

Crtanje splajnova
Bzierov metod

3/3

sada podelimo splajn na dva segmenta oko sredinje take dobijemo splajnove odreene takama AXPM i MQZD za njih ponovimo postupak postupak ponavljamo sve dok poligon koji obuhvata splajn ne bude dovoljno tanak, odnosno blizak dui

Y B P X M Q Z C

Popunjavanje figure bojom

1/3

Za dati piksel popuniti povrinu figure koja ga sadri Razliiti algoritmi


Algoritam poplave Popunjavanje pomou semenke (seed)

Popunjavanje figure bojom


Flood fill

2/3

obojiti izabrani piksel za izabrani piksel proveriti sva etiri suseda (sever, jug, istok, zapad) ako neki od njih nije obojen ponoviti postupak za njega

Popunjavanje figure bojom


Popunjavanje pomou semenke

3/3

popuni se horizontalna linija koja sadri izabrani piksel trae se nove semenke u liniji iznad tekue trae se nove semenke u liniji ispod tekue za nove semenke se ponovi postupak

5 2 1 4 4 3 2 3 2

5 3 2

5 3

1
4

1
4

korak 1

korak 2

korak 3

korak 4

5 2 3

6 2

5 3

6 2

5 3

6 2

5 3

1
4 4

1
4 7 8

1
4 7 9 8 10

1
7 9 8 10

korak 5

korak 6

korak 7

korak 8

Aliasing

1/3

Aliasing je potencijalni problem kad god se analogni signal konvertuje u digitalni U prikazu 2D grafike tipian problem je pojava nazubljenih ivica kosih linija

Originalna kriva koja se projektuje na matricu piksela

Oblik dobijen iscrtavanjem

Aliasing

2/3

Gubitak detalja
gustina matrice piksela nije dovoljna za prikaz sitnih detalja

Aliasing

3/3

Teksture koje gube svoje vizuelne karakteristike

Antialiasing

1/4

Metode za korekciju efekta aliasinga Dve klase metoda:


prefiltering postfiltering (supersampling)

Antialiasing
Prefiltering

2/4

piksel se tretira kao 2D objekat koji ima dimenzije (kvadrat) njegova boja se izraunava na osnovu boja koje su prisutne u crteu na povrini koju on prekriva

Antialiasing
Prefiltering

3/4

prikaz slova tehnika je nezavisna od izabranog fonta

Antialiasing

4/4

Postfiltering (supersampling) slika se renderuje na n puta veoj rezoluciji nego to e biti prikazana
boja konanog piksela se rauna kao prosek boja pod-piksela od kojih se on sastoji Primer
za sliku 512x512 iscrtava se slika sa 3 puta guom matricom 1536x1536 boja piksela se rauna kao prosek boja devet pod-piksela od kojih se sastoji nije svaki pod-piksel jednako znaajan u raun se uvode teinski koeficijenti

1/16 1/8 1/16

1/8 1/4 1/8

1/16 1/8 1/16

You might also like