Idi na sadržaj

Algoritmi za crtanje linija

S Wikipedije, slobodne enciklopedije
Dvije rasterizirane linije. Pikseli u boji prikazani su kao krugovi. Gore: jednobojni prikaz; dole: Gupta-Sproull anti-aliasing; idealna linija se ovdje smatra površinom.

Geometrijski opis objekta određuje lokaciju i oblik objekta koji će se nalaziti u prikazu. Na primjer kutija je opisana pložajem njenih uglova (vertices), lopta sa pozicijom centra i poluprečnikom, prava linija je definisana dvjema krajnjim tačkama.

Za prikaz linije na monitoru, grafički sistem mora prvo da iscrta krajnje tačke linije u integer koordinatama monitora, te da odredi najbliže piksele duž putanje između krajnjih tačaka. Zatim se boja za liniju učitava u frame buffer na odgovarajućim pixel koordinatama. Čitajući iz frame buffera, video kontroler crta pixele na monitor. Ovaj proces digitalizira liniju u set diskretnih integer pozicija (cjelobrojnih pozicija), koje generalno, samo aproksimiraju stvarnu putanju linije. Izračunate pozicije linije (10.48, 19.51), naprimjer, se konvertuju u pixel pozicije (10, 21). Zaokruživanje koordinatnih vrijednosti na integer vrijednosti uzrokuje da linija bude iscrtana stepenasto, efekat nazvan „jaggies“ koji vidimo na slici. U grafici se takve pojave opisuju kao aliasing. Efekat je lakše uočljiv na monitorima manjih rezolucija, a jedan od načina poboljšanja je prikazivanje na većim rezolucijama. Efektivnije metode - antialiasing, za glađenje ili peglanje linije se zasnivaju na podešavanju pixel intenziteta duž putanje linije.

Vanjski linkovi

[uredi | uredi izvor]