grafika

5
MATEMATIČKE OSNOVE RAČUNARSKE GRAFIKE 1. UVOD U procesima transformacije ulaznih podataka u modele objekata te transformacije modela objekata u grafičke prikaze na prikaznim uređajima nužna je primjena niza elementarnih i složenih matematičkih transformacija. Matematički opis objekata u n-dimenzionalnom prostoru temelji se na primjeni analitičke geometrije u prostoru i ravnini. Pri tome je važan pojam homogenih koordinata i homogene predstave objekata u n-dimenzionalnom prostoru. 2. GRAFIČKE TRANSFORMACIJE Transformacije grafičkih objekata mogu se prikazati u matričnom obliku na sažet i jednostavan način. Objekti uobičajno sadrže veliki broj tačaka pa i transformacije sadrže veliki broj istovrsnih aritmetičkih operacija. Transformacijom transolacije obavlja se pomak tačke V u tačku V' za iznos (T x , T y ). Transformacijom rotacije definisana je rotacija tačke V oko ishodišta za ugao θ. Transformacija primjene faktora proporcionalnosti za faktor Sx u smjeru koordinatne ose x i faktor Sy u smjeru koordinatne ose y definisana je slj.jedn.: Transformacija smicanja za ugao α u odnosu na kooridnatnu osu x i ugao β u odnosu na kooridnatnu osu y definisana je sljedećim jednačinama: U slučajevima kada je potrebno izvesti složene transformacije npr.kombinaciju translacije i rotacije moguće je pristupiti na način da se obavljaju redom pojedina elementarne transformacije. Međutim, ovaj način zahtijeva velik broj matričnih množenja. Taj broj se može smanjiti ako se definiše matrica složene transformacije M množenjem matrica pojedinih elementarnih transformacija M 1 , M 2 , ..., M n . Nakon toga se obavlja množenje vektora pojedinih tačaka matricom složene transformacije. U 3D prostoru moguće je definisati rotaciju u odnosu na ishodište oko svake pojedine koordinatne osi. 3. PROJEKCIJE U računarskoj grafici često je potrebno objekte iz prostora višeg reda prikazati u prostoru nižeg reda. Primjer takvog slučaja je prikaz scene definisane u 3D prostoru na dvodimenzionalnom prikaznom uređaju kao što je zaslon računara. Postupak preslikavanja objekta iz prostora višeg reda u prostor nižeg reda naziva se projekcija. U okviru ovog razmatranja mi ćemo se ograničiti na područje ravninskih geometrijskih projekcija, a pored njih postoje i neravninske i negeometrijske projekcije. Postoji više vrsta ravninskih geometrijskih projekcija koje su prikladne za različite namjene, a osnovne dvije skupine su perspektivne projekcije i paralelne projekcije. Temeljna razlika je u odnosu projekcijskog središta i projekcijske ravnine. Kod paralelnih projekcija udaljenost projekcijskog središta i projekcijske ravnine je beskonačna, dok je kod perspektivnih projekcija ta udaljenost konačna. Ortogonalna projekcija preslikava sve tačke objekta paralelnim zrakama na određenu ravninu. Slike dobivene ortogonalnom projekcijom određene su paralelnošću zraka. U praksi je često zanimljiva vrsta projekcije kod koje projekcijske zrake nisu paralelne. Takav je slučaj kod fotografije i kod ljudskog vida. Fotografija predstavlja projekciju scene iz 3D prostora na dvodimenzionalnu ravninu. Projekcijske zrake u tom slučaju izviru iz jedne tačke na konačnoj udaljenosti od projekcijske ravnine. Takva projekcija naziva se perspektivna ili fotografska.

Upload: reg211

Post on 05-Dec-2015

6 views

Category:

Documents


0 download

DESCRIPTION

matematicka racunarska grafika

TRANSCRIPT

MATEMATIČKE OSNOVE RAČUNARSKE GRAFIKE

1. UVOD U procesima transformacije ulaznih podataka u modele objekata te transformacije modela objekata u grafičke prikaze na prikaznim uređajima nužna je primjena niza elementarnih i složenih matematičkih transformacija. Matematički opis objekata u n-dimenzionalnom prostoru temelji se na primjeni analitičke geometrije u prostoru i ravnini. Pri tome je važan pojam homogenih koordinata i homogene predstave objekata u n-dimenzionalnom prostoru.

2. GRAFIČKE TRANSFORMACIJE Transformacije grafičkih objekata mogu se prikazati u matričnom obliku na sažet i jednostavan način. Objekti uobičajno sadrže veliki broj tačaka pa i transformacije sadrže veliki broj istovrsnih aritmetičkih operacija. Transformacijom transolacije obavlja se pomak tačke V u tačku V' za iznos (Tx, Ty). Transformacijom rotacije definisana je rotacija tačke V oko ishodišta za ugao θ. Transformacija primjene faktora proporcionalnosti za faktor Sx u smjeru koordinatne ose x i faktor Sy u smjeru koordinatne ose y definisana je slj.jedn.: Transformacija smicanja za ugao α u odnosu na kooridnatnu osu x i ugao β u odnosu na kooridnatnu osu y definisana je sljedećim jednačinama: U slučajevima kada je potrebno izvesti složene transformacije npr.kombinaciju translacije i rotacije moguće je pristupiti na način da se obavljaju redom pojedina elementarne transformacije. Međutim, ovaj način zahtijeva velik broj matričnih množenja. Taj broj se može smanjiti ako se definiše matrica složene transformacije M množenjem matrica pojedinih elementarnih transformacija M1, M2, ..., Mn. Nakon toga se obavlja množenje vektora pojedinih tačaka matricom složene transformacije. U 3D prostoru moguće je definisati rotaciju u odnosu na ishodište oko svake pojedine koordinatne osi.

3. PROJEKCIJE U računarskoj grafici često je potrebno objekte iz prostora višeg reda prikazati u prostoru nižeg reda. Primjer takvog slučaja je prikaz scene definisane u 3D prostoru na dvodimenzionalnom prikaznom uređaju kao što je zaslon računara. Postupak preslikavanja objekta iz prostora višeg reda u prostor nižeg reda naziva se projekcija. U okviru ovog razmatranja mi ćemo se ograničiti na područje ravninskih geometrijskih projekcija, a pored njih postoje i neravninske i negeometrijske projekcije. Postoji više vrsta ravninskih geometrijskih projekcija koje su prikladne za različite namjene, a osnovne dvije skupine su perspektivne projekcije i paralelne projekcije. Temeljna razlika je u odnosu projekcijskog središta i projekcijske ravnine. Kod paralelnih projekcija udaljenost projekcijskog središta i projekcijske ravnine je beskonačna, dok je kod perspektivnih projekcija ta udaljenost konačna. Ortogonalna projekcija preslikava sve tačke objekta paralelnim zrakama na određenu ravninu. Slike dobivene ortogonalnom projekcijom određene su paralelnošću zraka. U praksi je često zanimljiva vrsta projekcije kod koje projekcijske zrake nisu paralelne. Takav je slučaj kod fotografije i kod ljudskog vida. Fotografija predstavlja projekciju scene iz 3D prostora na dvodimenzionalnu ravninu. Projekcijske zrake u tom slučaju izviru iz jedne tačke na konačnoj udaljenosti od projekcijske ravnine. Takva projekcija naziva se perspektivna ili fotografska.

4. CRTANJE PRIMITIVNIH OBLIKA Postupak pretvorbe idealne slike u rasterski prikaz podrazumijeva određivanje razine svjetlosti i/ili boju piksela u rasteru. Budući da se ova pretvorba obavlja svaki put kad treba prikazati neku sliku, cilj je pronaći i primijeniti takve pretvorbene algoritme koji zahtijevaju minimalan broj procesorskih operacija.

4.1. Rapsterski prikaz ravnih crta Algoritmi za rasterski prikaz ravnih crta proračunavaju koordinate piksela na 2D rasteru koji su najbliži idealnoj, beskonačno uskoj ravnoj crti. Poželjne značajke prikazane ravne crte uključuju:

- Jednolik intenzitet crte čitavom dužinom; - Jednolik intenzitet crte neovisno o nagibu; - Mogućnost proizvoljnog odabira širine crte; - Mogućnost proizvoljnog oblikovanja krajeva.

4.1.1. Osnovni inkrementalni algoritam

Algoritam se sastoji od sljedećih koraka:

- Proračun nagiba pravca m = Dy/Dx (|m| < 1); - Proračun nove vrijednosti xi povećanjem prethodne vrijednosti za 1; - Proračun vrijednosti yi = mxi + B; - Isticanje piksela (xi, Round(yi)) gdje je Round(yi) = Floor (0.5 + yi).

Osnovni inkrementalni algoritam predstavlja najjednostavniji pristup crtanja ravne crte na rasterskom prikaznom uređaju, a temelji se na proračunu piksel po piksel na osnovi ekspilicitnog oblika jednačine pravca.

4.1.2. Digitalni diferencijalni analizator Nedostaci osnovnog inkrementalnog algoritma mogu se velikim dijelom otkloniti ako se algoritam izmijeni na način da se izbjegne množenje realnih brojeva. Ovakav algoritam naziva se digitalni diferencijalni analizator (DDA). DDA u osnovi predstavlja algoritam za numeričko rješavanje diferencijalnih jednačina istovremenim uvećavanjem koordinata x i y za vrijednosti proporcionalne njihovim prvim derivacijama. Nedostatak ovog algoritma proizilazi iz nepreciznosti prikaza realnih brojeva u digitalnim procesorima.

4.1.3. Algoritmi zasnovani na aritmetici cijelih brojeva Računska složenost DDA algoritma, iako je značajno smanjena u odnosu na osnovni inkrementalni algoritam, još uvijek nije optimalna jer sadrži operacije sa realnim brojevima. Dalji napredak na ovom području ostvaren je razvojem algoritama koji su temeljeni na cijelobrojnoj aritmetici. Značajnu ulogu u tom razvitku ima Bresenhamov algoritam utemeljen na inkrementalnoj tehnici. Ta tehnika daje najbolju aproksimaciju idelanih crta u smislu minimizacije pogreške, a može se primijeniti i na crtanje kružnica. Poboljšane verzije ovog algoritma zasnivaju se na primjeni tehnike središnje tačke. U formulaciji algoritma središnje tačke pretpostavlja se da je nagib pravca između 0 i 1. Za pravce sa nagibima izvan ovog intervala primijenjuje se tehnika refleksije oko koordinatnih osa. Pravac se preslikava u odgovarajući pravac sa nagibom unutar navedenog intervala čime se omogućava primjena algoritma središnje tačke.

4.2. Ispunjavanje primitivnih oblika Mogućnost ispunjavanja primitivnih oblika kao što su pravougaonici, kružnice, elipse i mnogouglovi značajno doprinosi vrijednosti i primjenjivosti grafičkog sistema. Pri tome je moguće ispunjavanje bojom ili određenim uzrokom. Osnovni koraci u tom postupku su:

- Izbor piksela koje treba ispuniti; - Izbor vrijednosti koju treba pridijeliti odabranim pikselima.

Izbor piksela koje treba ispuniti odvija se u sljedećim koracima:

- Skaliranje po horizontalnim crtama; - Proračun presjecišta horizontalne crte i primitivnog oblika inkrementalnim algoritmom; - Poredavanje presjecišta po veličini x koordinate; - Ispunjavanje odsječaka koji leže unutar primitivnog oblika.

U slučaju ispunjavanja primitivnog oblika bojom odabranih pikselima pridjeljuje se prethodno odabrana konstantna vrijednost.

4.3. Crtanje krivih linija Najjednostavniji pristup modeliranju krive linije je linearna aproksimacija po dijelovima. Kriva linija se aproksimira višestrukim crtama ili mnogouglovima. Tačnost aproksimacije određena je brojem linearnih segmenata kojima se aproksimira pojedini dio krive linije. Postoji više oblika matematičkog prikaza krivih za aproksimacije višeg reda: eksplicitni, implicitni i parametarski. Od njih najprikladniji za modeliranje krivih linija u računarskoj grafici je parametarski oblik jer nema nedostatke koje imaju eksplicitni i implicitni, kao npr.:nisu moguće višestruke vrijednosti x, problem sa višestrukim rješenjima itd.

4.3.1. Parametarske krive linije trećeg reda Parametarske krive linije trećeg reda najčešće se koriste za modeliranje krivih u računarskoj grafici jer omogućavaju dovoljno fleksibilnosti za oblikovanje različitih krivih linija uz prihvatljivu razinu složenosti. Model krive linije se specificira po odsječcima polinoma trećeg reda. Svaki odsječak Q opisan je sa tri funkcije x, y, i z parametra t na sljedeći način:

4.3.2. Definicija odsječka krive linije Q(t) Polinom trećeg stepena kao model odsječka krive ima 4 nepoznata koeficijenta što zahtijeva 4 uvijeta za njihovo određivanje. Na taj način dobiva se sistem od ukupno 4 jednačine sa 4 nepoznate. Uvjeti mogu biti: krajnje tačke, vektor smjera tangente ili kontinuitet u tačkama dodira pojedinih odsječaka. Sa obzirom na izbor vrste uvjeta definisane su različite vrste krivih. Osnovne vrste krivih su: Hermiteove krive, Bezierove krive, B-krive i b-krive. Različite vrste krivih imaju različite prednosti za pojedine vrste primjena. Prednosti različitih vrsta krivih mogu se najbolje iskoristiti u kombinovanom načinu prikaza krivih. Često se kriva predstavlja korisniku putem sučelja kao Bezierova ili Hermiteova, dok je unutrašnja reprezentacija B-krva. Kriteriji za izbor vrste krive uključuju: Prikladnost za interaktivnu manipulaciju, stepen kontinuiteta, općenitost i brzinu proračuna.

4.3.3. Načini crtanja parametarskih krivih Postupak crtanja parametarskih krivih uključuje određivanje diskretnog skupa tačaka na modelu krive i iscrtavanje ravnih crta koje ih povezuju. Pri tome su mogući različiti pristupi uključujući:

- Iterativni proračun x(t), y(t) i z(t) za niz bliskih rastućih vrijednosti parametra t; - Rekurzivna podjela do zadovoljavajuće bliskosti kontrolnih tačaka samoj krivoj; - Hibridni pristup kao kombinacija iterativnog i rekurzivnog načina.

Iterativni proračun odvija se na način da se vrijednosti koordinata x(t), y(t) i z(t) pojedinih tačaka izračunavaju za niz vrijednosti parametra t međusobno udaljenih za unaprijed određeni konstrantan iznos d. Rekurzivna podjela odvija se na način da se između dvije izračunate tačke stavlja treća tačka. Hibridni pristup kombinira najbolja svojstva iterativnog i rekurzivnog pristupa. U osnovi se može opisati kao iterativni proračun sa adaptivnim korakom.

5. CRTANJE POVRŠINA U mnogim primjenama računarske grafike potrebno je prikazati različite vrste površina u trodimenzionalnom prostoru. Modeliranje površina složen je zadatak i postoji više načina. Najčešće korišteni načini temelje se na primjeni:

- Parametarskih površina; - Mreža mnogougla; - Površina drugog reda.

Parametarske površine predstavljaju generalizaciju parametarskih krivih na način da se umjesto jednog parametra koriste dva. Mreža mnogougla predstavlja skup povezanih mnogougaonih ravnih površina kojima se aproksimira željena površina proizvoljnog oblika. Površine drugog reda su površine definisane opštom jednačinom drugog reda u implicitnom obliku.

5.1. Dvoparametarske površine trećeg reda Dvoparametarske površine terćeg reda predstavljaju generalizaciju parametarskih krivih trećeg reda. U jednačini parametarske krive Q(t) = T M G parametar t zamijenimo parametrom s, a zatim učinimo geometrijski vektor G promjenljivim u 3D prostoru duž nekog puta u ovisnosti o parametru t,

5.1.1. Bezierove površine Ako u opštem izrazu za dvoparametarsku krivu trećeg reda uvrstimo Bezierovu baznu matricu MB i Bezierovu geometrijsku matricu GB dobivamo izraze za Bezierove površine:

5.1.2. Načini crtanja dvoparametarskih površina trećeg reda Kao i u slučaju crtanja parametarskih krivih, osnovni prostupi crtanju parametarskih površina uključuju iterativni i rekurzivni postupak. Iterativni postupak podrazumijeva proračun polinoma trećeg reda za niz bliskih rastućih vrijednosti parametara t i s. Mogući prostup je iscrtavanje niza krivih kao funkcija parametra t, zatim se iscrtava niz krivih kao funkcija parametra s. Postupak rekurzivne podjele podrazumijeva dijeljenje površine na četverougaonike do zadovoljavajuće ravnoće rezultirajućih četverouglova. Podjela se obavlja dijeljenjem prvo po jednom, a zatim po drugom parametru. Dijeljenje se obavlja crtanjem krive po jednom parametru uz konstantnu vrijednost drugog parametra.

5.2. Mreže mnogouglova Mreža mnogougla je skup bridova, vrhova i mnogougla povezanih tako da oblikuju površinu koja dovoljno dobro aproksimira željenu površinu. Pri tome svaki brid zajednički je za najviše dva mnogougla, a svaki vrh zajednički je za najmanje dva brida. Najčešći korišteni načini prikazivanja modela mreže mnogougla su: eksplicitni način, struktura pokazivača na listu vrhova i struktura pokazivača na listu bridova.

5.3. Površina drugog reda Površine drugog reda kao što su površina kugle, površina elipsoida ili cilindra mogu poslužiti kao elementarne površine za definisanje modela složenijih površina u trodimenzionalnom prostoru. Ova skupina površina definisana je implicitnom jednačinom oblika: Prednosti ovog pristupa su prikladnost za niz proračuna kao što su normale na površinu u pojedinoj tački, određivanje presjeka, te određivanje pripadnosti tačke površini. Ove prednosti temelje se na jasnoj matematičkoj formi definicije površine.

6. CRTANJE TRODIMENZIONALNIH TIJELA U mnogim primjenama važno je stvoriti model trodimenzionalnog objekta i grafički prikaz na kojem se jasno uočava razlika između unutrašnjosti i spoljašnosti tijela ili odnos između dva objekta u prostoru. Elemente koje pri modeliranju i grafičkom prikazivanju tijela možemo koristiti su crte, krive, mnogouglovi i površine. Jedan od pristupa modeliranju tijela je primjena žičanih modela kod kojih se crtama modeliraju bridovi tijela. Neovisno o načinu prikazivanja trodimenzionalnih objekata potrebno je definisati mogućnost njihovog kombinovanja sa svrhom tvorbe novih oblika. Jedan od najintuitivnijih i najpopularnijih metoda za kombinovanjem objekata je primjena Booleovih operacija uključujući: uniju, presjek i razliku.

7. ZAKLJUČAK U ovom seminarskom radu dat je pregled matematičkih osnova računarske grafike. Svrha rada je uvođenje u područje matematičke apstrakcije u računarskoj grafici te upoznavanje primjera algoritma za primjenu matematičkih koncepata u stvaranju slikovnog prikaza elementarnih oblika. Od procesa transformacije ulaznih podataka u modele objekata do transformacije modela objekata u grafičke prikaze na prikaznim uređajima neophodna je primjena niza elementarnih i složenih transformacija koje te grafičke objekte prikazuju u matričnom obliku na sažet i jednostavan način. Primjenom negeometrijske, neravanske te ravanske geometrijske projekcije, naročito primjenom ravanske zbog njenih raznih vrsta koje su prikladne za različite namjene, moguće je prikazivanje grafičkih objekata u prostoru nižeg reda. Za prikazivanje slika objekata na rasterskim prikaznim uređajima zahtijevana je pretvorba idealnih slika u rasterski prikaz sa pikselima kao osnovnim elementima prikaza, gdje je cilj bio iznaći i primijeniti takve pretvorbene algoritme koje zahtijevaju minimalan broj procesorskih operacija.