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

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

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

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

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

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

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

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

Podstawy Informatyki Wykład V

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

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

GRAFIKA KOMPUTEROWA 10: Antyaliasing

KLUCZ PUNKTOWANIA ODPOWIEDZI

Grafika komputerowa Wykład 2 Algorytmy rastrowe

Grafika komputerowa i wizualizacja

Podstawowe obiekty AutoCAD-a

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

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

WPROWADZENIE DO GRAFIKI KOMPUTEROWEJ

Laboratorium grafiki i multimediów

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

Technologie Informacyjne

Plan wykładu. Akcelerator 3D Potok graficzny

Podstawy grafiki komputerowej

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

CorelDraw - Edytor grafiki wektorowej

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

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

VII. WYKRESY Wprowadzenie

Grafika komputerowa. Dla DSI II

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

4. Rysowanie krzywych

Planowanie adresacji IP dla przedsibiorstwa.

EGZAMIN MATURALNY Z MATEMATYKI

Technologie Informacyjne

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

Grafika komputerowa. Obraz w informatyce

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Podstawy grafiki komputerowej. Teoria obrazu.

Grafika Komputerowa. Algorytmy rastrowe

MATERIAŁ WICZENIOWY Z MATEMATYKI

5. Kliknij czarny trójkt umieszczony w prawym dolnym rogu ikony narzdzia Wypełnienie i - z rozsuwanej palety - wybierz pozycj Wypełnienie jednolite.

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

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

Techniki wstawiania tabel

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

Wprowadzenie do grafiki komputerowej

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

Lecture Notes in Computer Graphics. 2D graphics

Formaty obrazów rastrowych biblioteki PBM

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

Teksturowanie (ang. texture mapping)

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)

X. ELEMENTY GRAFIKI ANIMOWANEJ

stopie szaro ci piksela ( x, y)

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

System graficzny. Potok graficzny 3D. Scena 3D Zbiór trójwymiarowych danych wejściowych wykorzystywanych do wygenerowania obrazu wyjściowego 2D.

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

PRZYKŁADOWE ZADANIA. ZADANIE 1 (ocena dostateczna)

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

KLUCZ PUNKTOWANIA ODPOWIEDZI

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

Grafika Komputerowa Przetwarzanie, analiza i rozpoznawanie obrazów

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

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

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ą.

EGZAMIN MATURALNY Z INFORMATYKI 11 MAJA 2018 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

INSTRUKCJE DO FRONTPAGE 2003

Excel. Zadania. Nazwisko:

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

Gimp Grafika rastrowa (konwersatorium)

Obsługa programu Soldis

Operatory mapowania tonów

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

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Corel Draw, Adobe Illustrator grafika wektorowa

1.1. Pozycyjne systemy liczbowe

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

INSTRUKCJA OBSŁUGI PROGRAMU C-STATION

SZYBKI ALGORYTM Z MACIERZĄ SHURA DLA MACIERZY TRÓJDIAGONALNYCH

TWORZENIE OBIEKTÓW GRAFICZNYCH

Szybkie tworzenie grafiki w GcIde

Monitory LCD (ang. Liquid Crystal Display) (1)

Laboratorium grafiki i multimediów

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

Zaawansowana Grafika Komputerowa

Rysowanie punktów na powierzchni graficznej

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

8. Dynamiczne generowanie grafiki, cz. 2

OCENIANIE ARKUSZA POZIOM ROZSZERZONY

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.

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

Listy i operacje pytania

Przed instalacj naley sprawdzi wersj posiadanych sterowników urzdzenia. Powinna by nie starsza ni:

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. Pictures courtesy Andries van Dam.

Rysowanie okr"gu (5) - Zmienna decyzyjna Rysowanie okr"gu (6) - inkrementy Warto%$ funkcji: E Obliczanie inkrementu zmiennej decyzyjnej: w punkcie: Pictures courtesy Andries van Dam. 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. Pictures courtesy Andries van Dam.

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.