Rasteryzacja (ang. rasterization or scan-conversion) Grafika rastrowa. Rysowanie linii (1) Rysowanie piksela. Rysowanie linii: Kod programu



Podobne dokumenty
Rasteryzacja (ang. rasterization or scan-conversion) Grafika rastrowa. Rysowanie linii (1) Rysowanie piksela

Obraz cyfrowy. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Scena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia" Obliczenie koloru powierzchni (ang. Lighting)

Próbkowanie (ang. sampling) - kwantyzacja. Rastrowa reprezentacja obrazu 2D. Generowanie obrazu rastrowego 2D. Próbkowanie i integracja

Obraz realistyczny. Realizm w grafice komputerowej. Realizm modelu: z!o#one siatki wielok$tów. Realizm modelu geometrycznego. Realizm modelu: spline'y

Potok graficzny. System graficzny. Potok graficzny 3D. O$wietlenie globalne i lokalne. scena 3D algorytm graficzny obraz 2D. czasu rzeczywistego

Próbkowanie (ang. sampling) - kwantyzacja. Rastrowa reprezentacja obrazu. Generowanie obrazu rastrowego 2D. Przyk"ad próbkowania

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

Podstawy Informatyki Wykład V

GRAFIKA KOMPUTEROWA 10: Antyaliasing

Podstawowe obiekty AutoCAD-a

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu

Grafika komputerowa i wizualizacja

Aparat widzenia człowieka (ang. Human Visual System, HVS) Budowa oka. Komórki światłoczułe. Rastrowa reprezentacja obrazu 2D.

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

M wiersz,kolumna. = [m ij. Wektor. Przekszta!cenia geometryczne w grafice wektorowej. Dzia!ania na wektorach. Uk!ad wspó!rz&dnych.

W definicji powyszej funkcji załoylimy, e 1 m 1 oraz x0 < xk.

WPROWADZENIE DO GRAFIKI KOMPUTEROWEJ

Grafika komputerowa Wykład 2 Algorytmy rastrowe

CorelDraw - Edytor grafiki wektorowej

Planowanie adresacji IP dla przedsibiorstwa.

Plan wykładu. Akcelerator 3D Potok graficzny

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Grafika komputerowa (ang. computer graphics) Wprowadzenie do grafiki komputerowej. Grafika komputerowa - Zastosowania (2) Grafika komputerowa - Geneza

Grafika Komputerowa Wykład 1. Wstęp do grafiki komputerowej Obraz rastrowy i wektorowy. mgr inż. Michał Chwesiuk 1/22

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

Podstawy grafiki komputerowej

Grafika komputerowa. Oko posiada pręciki (100 mln) dla detekcji składowych luminancji i 3 rodzaje czopków (9 mln) do detekcji koloru Żółty

dr inż. Piotr Odya dr inż. Piotr Suchomski

OpenGL - Open Graphics Library. Programowanie grafiki komputerowej. OpenGL 3.0. OpenGL - Architektura (1)

Podstawy grafiki komputerowej. Teoria obrazu.

Grafika komputerowa. Dla DSI II

4. Rysowanie krzywych

Technologie Informacyjne

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.

stopie szaro ci piksela ( x, y)

VII. WYKRESY Wprowadzenie

INSTYTUT TECHNIKI Zakad Elektrotechniki i Informatyki mdymek@univ.rzeszow.pl FLASH

Listy i operacje pytania

Grafika Komputerowa Wybrane definicje. Katedra Informatyki i Metod Komputerowych Uniwersytet Pedagogiczny im. KEN w Krakowie apw@up.krakow.

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

MATERIAŁ WICZENIOWY Z MATEMATYKI

Algorytmy grafiki rastrowej. Mirosław Głowacki Wykład z Grafiki Komputerowej

Grafika komputerowa. Obraz w informatyce

Algorytmy grafiki rastrowej. Mirosław Głowacki Wykład z Grafiki Komputerowej

X. ELEMENTY GRAFIKI ANIMOWANEJ

LIVE Gra w życie. LIVE w JavaScript krok po kroku. ANIMACJA Rozpoczynamy od podstawowego schematu stosowanego w animacji

Laboratorium grafiki i multimediów

KLUCZ PUNKTOWANIA ODPOWIEDZI

Grafika 2D. Pojęcia podstawowe. opracowanie: Jacek Kęsik

Techniki wstawiania tabel

dr hab. inż. Lidia Jackowska-Strumiłło, prof. PŁ Instytut Informatyki Stosowanej, PŁ

Wprowadzenie do grafiki komputerowej

Technologie Informacyjne

Grafika Komputerowa. Algorytmy rastrowe

Formaty obrazów rastrowych biblioteki PBM

Rys1 Rys 2 1. metoda analityczna. Rys 3 Oznaczamy prdy i spadki napi jak na powyszym rysunku. Moemy zapisa: (dla wzłów A i B)

Wymagania edukacyjne na ocenę z informatyki klasa 3

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Lekcja 3 Banki i nowe przedmioty

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

Gimp Grafika rastrowa (konwersatorium)

Lecture Notes in Computer Graphics. 2D graphics

Grafika na stronie www

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 KOMPUTEROWA

INSTRUKCJE DO FRONTPAGE 2003

Photoshop. Podstawy budowy obrazu komputerowego

Reprezentacje danych multimedialnych - grafika. 1. Terminologia 2. Obrazy czarno-białe 3. Obrazy kolorowe 4. Paleta 5.

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

Teksturowanie (ang. texture mapping)

Laboratorium grafiki i multimediów

8. Dynamiczne generowanie grafiki, cz. 2

Grafika Komputerowa Przetwarzanie, analiza i rozpoznawanie obrazów

Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią.

Księgarnia internetowa Lubię to!» Nasza społeczność

Program do konwersji obrazu na cig zero-jedynkowy

Funkcje, wielomiany. Informacje pomocnicze

FORMATY PLIKÓW GRAFICZNYCH

Projektowanie algorytmów rekurencyjnych

Funkcje wielu zmiennych

1.1. Pozycyjne systemy liczbowe

Excel. Zadania. Nazwisko:

Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza

GRAFIKA WEKTOROWA. WYKŁAD 1 Wprowadzenie do grafiki wektorowej. Jacek Wiślicki Katedra Informatyki Stosowanej

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Julia 4D - raytracing

Corel Draw, Adobe Illustrator grafika wektorowa

Animowana grafika 3D. Opracowanie: J. Kęsik.

Zaawansowana Grafika Komputerowa

Wstęp do informatyki- wykład 2

Ćwiczenie 6 Animacja trójwymiarowa

Monitory Opracował: Andrzej Nowak

PRZYKŁADOWE ZADANIA. ZADANIE 1 (ocena dostateczna)

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Transkrypt:

Rasteryzacja (ang. rasterization or scan-conversion) Grafika rastrowa Rados!aw Mantiuk Wydzia! Informatyki Zachodniopomorski Uniwersytet Technologiczny Zamiana ci!g"ej funkcji 2D na funkcj# dyskretn! (np. rysowanie okr#gu w rastrze na podstawie równania okr#gu). Problem sprowadza si# do wyboru pikseli, którym trzeba nada$ kolor, aby w efekcie otrzyma$ wymagany kszta"t geometryczny. Problem rasteryzacji pojawi! si" w momencie upowszechnienia si" monitorów rastrowych (Jack Bresenham). Algorytmy grafiki rastrowej s# fundamentem grafiki komputerowej. Rysowanie piksela Nadanie odpowiedniej komórce pami"ci obrazu okre$lonej warto$ci (koloru). Rysowanie linii (1) Zapalanie odpowiednich pikseli pomi"dzy pikselami pocz#tkowym i ko'cowym. (0,0) (cols,0) y x Courtesy of MIT (Lecture Notes 6.837) (0,rows) Adres piksela (24 bpp): addr(x,y) = y * cols * 3 + x * 3 (cols,rows) (xres, yres) Linia powinna wygl#da% w sposób ci#g!y. Mie% jednakow# grubo$% i jaskrawo$% na ca!ej d!ugo$ci. Zapalane powinne by% piksele jak najbli&ej idealnej linii. Algorytm rysowania musi by$ bardzo szybki. Rysowanie linii (2) Rysowanie linii: Kod programu Algorytm rysuje linie od 0 do 45 stopni oraz dla x1 > x0. Courtesy of MIT (Lecture Notes 6.837) Algorytm nie daje zadawalaj#cych rezultatów (nie mo&na narysowa% linii pionowych, zaokr#glanie jest wolne).

Rysowanie linii: Algorytm z punktem $rodkowym Courtesy Andries van Dam. Modyfikacja algorytmu Bresenhama. O wyborze piksela, który b"dzie zapalony w kolejnym kroku decyduje po!o&enie punktu $rodkowego M wzgl"dem obliczonego punktu Q. Np. je&eli Q jest pomi"dzy M i NE wybierany jest piksel NE. Rysowanie linii: Równanie parametryczne prostej Równanie prostej: Równanie parametryczne: y = y p + 1/2 Obliczenie F w punkcie!rodkowym okre!la czy idealna linia znajduje si" powy#ej czy poni#ej punktu!rodkowego. Rysowanie linii: Zmienna decyzyjna Istotny jest znak zmiennej decyzyjnej d: Rysowanie linii: Warto$% poczatkowa zmiennej decyzyjnej Warto$% pocz#tkowa zmiennej decyzyjnej: Wyeliminowanie u!amka Rysowanie linii: Modyfikacja zmiennej decyzyjnej Rysowanie linii: Modyfikacja zmiennej decyzyjnej Inkrementacyjne obliczanie d dla E: Inkrementacyjne obliczanie d dla NE: Ró&nica pomi"dzy star# i now# warto$ci# d: Ró&nica pomi"dzy star# i now# warto$ci# d:

Rysowanie okr"gu (1) Rysowanie okr"gu (2) Algorytm rysowania okr#gu z punktem %rodkowym. Pictures courtesy of Andries van Dam. Pictures courtesy of Andries van Dam. Rysowanie okr"gu (3) - Algorytm z punktem $rodkowym Rysowanie okr"gu (4) - Algorytm z punktem $rodkowym (-x,y) y (x,y) (y,-x) (0,R) x = y (y,x) E (-y,-x) (-y,x) x SE (-x,-y) (x,-y) Rysowana jest 1/8 okr"gu. Pozosta!e cze$ci uzyskuje si" poprzez symetryczne powielenie obliczonych pikseli. Rysowanie okr"gu (5) - Zmienna decyzyjna Warto$% funkcji: E Rysowanie okr"gu (6) - inkrementy Obliczanie inkrementu zmiennej decyzyjnej: w punkcie: Czy warto%$ funkcji w punkie %rodkowym jest dodatnia czy ujemna? Dla ujemnej warto$ci funkcji wybieramy E, poniewa& oznacza to, &e punkt M jest wewn#trz okr"gu (odleg!o$% punktu M od $rodka okr"gu jest mniejsza od promienia okr"gu).

Rysowanie okr"gu (7) Rysowanie linii ze wzorem (ang. pattern lines) Wzór od P do Q ró&ni si" od wzoru od Q do P. Wzory geometryczne. Wzór na!o&ony w postaci tekstury. Niepoprawny pod wzgl"dem geometrycznym. Trójk#t Kszta!t geometryczny najpowszechniej wykorzystywany w grafice komputerowej: bardzo prosta reprezentacja (3 wierzcho!ki i 3 brzegi), trójk#t zawsze jest wypuk!y (ang. convex), wierzcho!ki trójk#ta zawsze le&# na jednej p!aszczy(nie, za pomoc# siatki trójk#tów mo&na aproksymowa% dowolny kszta!t 3D. Rasteryzacja trójk#ta - Ang. Edge walking Brzegowa (ang. edge walking) 1. Posortowanie wierzcho!ków w kierunkach x i y, wybranie kierunku wype!niania (np. z lewej do prawej i z góry na dó!). 2. Obliczenie pikseli brzegowych dla ka&dej poziomej linii (ang. spans). 3. Wype!nianie liniami poziomymi od punktu p0 do p2. Bardzo szybki algorytm. Wymaga zaokr#glania warto$ci zmiennoprzecinkowych w czasie liczenia spans. Kopiowanie obszarów rastra (ang. Bit Blitting) Kopiowanie warto$ci kolorów pikseli pomi"dzy obszarem (ród!owym i docelowym. Wa&na jest kolejno$% kopiowania pikseli (unikamy b!"dów wynikaj#cych z pokrywania si" obszarów (ród!owego i docelowego). Przezroczysto$% - Ang. Alpha blending Wykorzystanie warto$ci Alpha koloru piksela (RGBA) do uzyskania przezroczysto$ci. == 0 -> piksel przezroczysty (ang. transparent) == 1 -> piksel nieprzezroczysty (ang. opaque) C = " # C piksela + (1$") # C tla W czasie kopiowania mo&na wykorzystywa% funkcje logiczne!#cz#c kopiowany obszar z t!em w celu uzyskania okre$lonych efektów wizualnych (np. XOR kursora myszy).! W bitmapie lub sprit e zapisana informacja RGBA.

Literatura 1. Materia!y edukacyjne organizacji ACM SIGGRAPH, http://www.siggraph.org/ education/materials/hypergraph 2. Lecture notes on Graphics. Lecture 6.837, Computer Graphics Group, Massachusetts Institute of Technology, http://groups.csail.mit.edu/graphics/classes/ 6.837/F01/notes.html. Rasteryzacja trójk#ta - Problemy Liczba trójk#tów w modelach jest bardzo du&a. W rezultacie na jeden piksel obrazu mo&e przypada% wiele trójk#tów. Rasteryzacja trójk#ta jest w takim przypadku bardzo nieefektywna. Dlatego zaczyna si" stosowa% inne techniki renderingu oparte na punktach (ang. point-cloud rendering)(http://graphics.stanford.edu/software/qsplat/). Model zbudowany z 100 mln trójk#tów. Sprites Raster umieszczany w ró&nych miejscach obrazu rastrowego (nazywanego ang. playground). Mo&liwa jest animacja tego rastra (umieszczanie go w ró&nych miejscach). Srite nie zamazuje pierwotnego obrazu. Rasteryzacja trójk#ta - Ang. Edge equations Wykorzystuj#ca równania brzegów trójk#ta 1. Obliczenie równa' brzegów trójk#ta na podstawie po!o&enia jego wierzcho!ków. 2. Wyznaczenie figury otaczaj#cej (ang. bounding box). 3. Skanowanie pikseli wewn#trz figury otaczaj#cej. 4. Zapalanie pikseli, dla kórych wszystkie warto$ci obliczone z równa' brzegów s# ujemne. Wykorzystanie przezroczysto$ci. Animowany sprite