GRAKO: PODSTAWY GRAFIKI 2W Grfik rstrow -ogrniczeni Wizulizcj 2W ogrniczeni rstr lini w grfice rstrowej łuk w rstrze Spójność obiektów Obcinnie Trnsformcje PołoŜenie rysownych figur (obiektów) jest ogrniczone zwykle prostokątną strukturą pikseli Ogrniczeni: Brk sklowni Lini schodkow (brk głdkości dyskretyzcj ksztłtu) Alising ZłoŜoność Zmin brwy Niektóre wykorzystne tutj mteriły pochodzą z: http://wznik.mimuw.edu.pl/index.php?title=grfik_komputerow_i_wizulizcj http://www.zsk.ict.pwr.wroc.pl/zsk/dydktyk/gk/ ciemniejszy odcinek wektorowo rstrowo efekt lisingu Metody poprwy: Grfik rstrow Projektownie (myślenie) wektorowe Zwiększnie rozdzielczości mtrycy pikselowej Rozmywnie obiektów o wysokogrdientowych krwędzich, rozjśninie ukośnych odcinków WŜenie jsności (piksel świeci proporcjonlnie rozmiru pokryci przez dny obiekt) Przyspiesznie obliczeń Antylising Rozmycie ostrych krwędzi poprwi widziny efekt
Rysownie odcink złoŝoność obliczeniow Rysownie odcink lgorytm Bresenhm y=x y= [ x] - mnoŝenie rzeczywistoliczbowe plus zokrąglnie lub y= x y i+1 = [y i +] - dodwnie rzeczywistoliczbowe plus zokrąglnie Stłoprzecinkowy ZłoŜeni: x i+1 =x i, 0 1 Metod: Inicjujemy zmienne pomocnicze opisujące wyznczny odcinek o początku (x 1,y 1 ) i końcu (x 2,y 2 ) d 0 =2 (y 2 -y 1 )-(x 2 -x 1 ) p 1 =2 (y 2 -y 1 ) p 2 =2 [(y 2 -y 1 )-(x 2 -x 1 )] N podstwie d wybiermy punkt S lub T bliŝszy teoretycznej prostej (odcinkowi) i ktulizujemy zmienną d w kŝdym kolejnym kroku jeśli (d i <0) to (x i+1,y i+1 ) =S; d i+1 =d i +p 1 ; w p.p. (x i+1,y i+1 ) =T; d i+1 =d i +p 2 ; z punktów S i T wybiermy bliŝszy odcinkowi, czyli w tym przypdku S T S złoŝoność: dodwnie cłkowitoliczbowe plus określnie znku Modifikcj lgorytmu Bresenhm Rysownie okręgu lgorytm Bresenhm r Stłoprzecinkowy ZłoŜeni: zczynmy od punktu (0,r) i rysujemy 1/8 okręgu (resztę przez symetrię) Metod p 1 =3-2r w kolejnym kroku: jeśli (p i <0) to (x i+1,y i+1 ) =T; p i+1 =pi+4x i-1 +6; w p.p. (x i+1,y i+1 ) =S; p i+1 = p i +4(x i-1 -y i-1 )+10 T S Algorytm z podwójnym krokiem
Wypełninie obszrów Obcinnie obiektu do widocznego frgmentu Przez spójność (rozrost regionu) pole widzeni (x2,y2) Przez kontrolę przystości przyste wejście do obiektu (x1,y1) nieprzyste wyjście z obiektu przypdki szczególne ekstrem z nlizą końców odcinków, odcinki poziome Konwersj do bufor wyświetlni i usunięcie wszystkich pikseli nie mieszczących się z widoku Obcinnie odcinków Sprwdznie końców odcinków: ob wewnątrz widoku: odcinek zostwimy jeden n zewnątrz: przycinmy do okn widoku ob końce n zewnątrz - rozstrzygnie: odrzucmy odcinek czy przycinmy? oblicznie punktów przecięci z widokiem i sprwdznie, czy nleŝą do widoku (x1,y1) (x2,y2) Obcinnie odcink (przyspieszenie) lgorytm Cohen-Sutherlnd -dzielimy n regiony z kodem binrnym -końcom odcink przypisujemy kody regionów Sprwdznie końców odcinków: ob wewnątrz widoku: odcinek zostwimy - ob końce 0000 jeden n zewnątrz - AND końców dje 0: przycinmy do okn widoku ob końce n zewnątrz - rozstrzygnie: odrzucmy odcinek czy przycinmy? AND końców dje wynik niezerowy odrzucmy odcinek zewnętrzny AND końców dje 0 sytucj niejednoznczn - oblicznie punktów przecięci z widokiem i sprwdznie, czy nleŝą do widoku: przycięcie odcink do njbliŝszej prostej ogrniczjącej widok (według ustlonej kolejności), określenie nowego regionu końc odcink i powtórzenie procesu sprwdzni końców (mksimum 4 kroki itercji)
Algorytm Cohen-Sutherlnd (wyjśnienie) Obcinnie wielokąt 1001 1000 (x2,yp2 ) 1010 (xp2,yp2) (x2,y2) (xp1,yp1) 0001 0000 0010 (x1,y1) Algorytm Sutherlnd- Hodgmn przycinnie odcink do x2 yp2 = yp1 + (x2 xp1), =(yp2-yp1)/(xp2-xp1) 0110 Rysunek z wznik Z jednego wielokąt kilk Obcinnie nie jest łtwe Inne problemy Wypełninie brzegów wielokątów (reguł przynleŝności brzegu) W przestrzeni 3W Kliny, drzzgi (wypełninie wielotonowe, zwiększnie rozdzielczości)
Pogrubinie linii Przeksztłceni 2W Powielnie i wprowdznie tonów pośrednich okno do wyświetlni obrzu monitor okno do rysowni w kolumnie lub wierszu zleŝnie od nchyleni konwencje dresowni pikseli Dynmiczny pędzel (pióro) normlizcj Przeksztłceni 2W Podstwowe elementy (prymitywy) to punkty, odcinki, wielokąty Relcj: piksele prymitywy obiekty Łtwość reprezentcji obiektów w 2W W przeksztłcenich wykorzystuje się dziłni m mcierzch Przeksztłceni finiczne (przesunięcie, obrót, sklownie) Przesunięcie Sklownie Obrót
Przeksztłceni finiczne Inne przeksztłceni 2W We współrzędnych jednorodnych (homogenicznych) znormlizownych mmy: Trnslcj Sklownie symetri osiow (odbicie) symetri środkow Obrót pochylenie ścinnie Przeksztłceni jednorodne, znormlizowne Jest to ujednolicony sposób opisu przeksztłceń Sztywne zchowują długości i kąty (np. trnslcj i obrót) Afiniczne zchowują równoległość linii Sklownie jest nieizometryczne (nie zchowuje odległości) Kolejność wykonywni przeksztłceń (przesunięcie do początku ukłdu współrzędnych, sklownie obrót, przesunięcie w odpowiednie miejsce) Istotne zsdy przeksztłcni -cd Proste skłdnie trnsformcji Trnsformcje odwrotne
Równnie prmetryczne prostej Dne: P1 = (x1, y1) nd P2 = (x2, y2) x = x1 + t(x2 - x1) y = y1 + t(y2 - y1) Kłdąc: t=0, mmy (x1, y1) t=1, mmy (x2, y2) (0<t<1), dostjemy punkty odcink pomiędzy (x1, y1) i (x2, y2) y P2 = (x2, y2) P1 = (x1, y1) Anlogicznie w 3W: x = x1 + t(x2 - x1) y = y1 + t(y2 - y1) z = z1 + t(z2 - z1) x