Laboratorium grafiki i multimediów

Podobne dokumenty
Grafika komputerowa Wykład 2 Algorytmy rastrowe

Definicja obrotu: Definicja elementów obrotu:

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

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

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

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

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

Filtrowanie tekstur. Kinga Laurowska

6. Zagadnienie parkowania ciężarówki.

Grafika 2D. Rasteryzacja elementów wektorowych. opracowanie: Jacek Kęsik

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

Odcinki, proste, kąty, okręgi i skala

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

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

7. Zagadnienie parkowania ciężarówki.

GRAFIKA KOMPUTEROWA 10: Antyaliasing

Laboratorium grafiki i multimediów

FUNKCJA KWADRATOWA. Wykresem funkcji kwadratowej jest parabola o wierzchołku w punkcie W = (p, q), gdzie

CorelDraw - Edytor grafiki wektorowej

Wymagania na egzamin poprawkowy z matematyki z zakresu klasy drugiej TECHNIKUM

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

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

nego typu krzywych na płaszczyźnie rastrowej. Najczęściej zdarza się to, gdy: tworzymy rysunek(zbiór krzywych) na płaszczyźnie punkt po punkcie;

Praktyczne przykłady wykorzystania GeoGebry podczas lekcji na II etapie edukacyjnym.

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

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows

Algorytmy i struktury danych

WYKŁAD 2 Znormalizowane elementy rysunku technicznego. Przekroje.

Skalowanie i ustawianie arkuszy/układów wydruku w AutoCAD autor: M. Motylewicz, 2012

Zajęcia nr. 5: Funkcja liniowa

Scenariusz lekcji matematyki w kl. IV

Krzywe stożkowe Lekcja VI: Parabola

Podstawy grafiki komputerowej

1 abbbaabaaabaa -wzorzec: aaba

Grafika Komputerowa. Algorytmy rastrowe

1 Wprowadzenie do algorytmiki

PODSTAWY GRAFIKI INŻYNIERSKIEJ projektowanie SZKICOWANIE TECHNICZNE

Pojęcia, wymagania i przykładowe zadania na egzamin poprawkowy dla klas II w roku szkolnym 2016/2017 w Zespole Szkół Ekonomicznych w Zielonej Górze

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

Rysowanie precyzyjne. Polecenie:

Podstawy i języki programowania

KONSTRUKCJE GEOMETRYCZNE mgr Michał Kosacki

Przekształcanie wykresów.

Rys. 1. Rozpoczynamy rysunek pojedynczej części

Lecture Notes in Computer Graphics. 2D graphics

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 12 AiR III

24 proste kroki. aby pokonac. Obrazki. logiczne. ro05155

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

PRÓBNA MATURA ZADANIA PRZYKŁADOWE

Linie wymiarowe i pomocnicze linie wymiarowe

PRÓBNA MATURA ZADANIA PRZYKŁADOWE

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

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

Skrypt 24. Geometria analityczna: Opracowanie L5

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

Macierzowe algorytmy równoległe

M10. Własności funkcji liniowej

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

PODSTAWOWE KONSTRUKCJE GEOMETRYCZNE

Reprezentacja i analiza obszarów

Scenariusz lekcji. 1. Informacje wstępne: Data: 27 maja 2013r.

Rozmiar i wielkość dokumentu

Skrypt dla ucznia. Geometria analityczna część 3: Opracowanie L3

O czym należy pamiętać?

Grafika Komputerowa Materiały Laboratoryjne

Wstęp Pierwsze kroki Pierwszy rysunek Podstawowe obiekty Współrzędne punktów Oglądanie rysunku...

Badanie zależności położenia cząstki od czasu w ruchu wzdłuż osi Ox

Kodowanie predykcyjne

I. Funkcja kwadratowa

4.3 Grupowanie według podobieństwa

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

WYMIAROWANIE. Wymiarowanie jest to podawanie wymiarów przedmiotów na rysunkach technicznych za pomocą linii, liczb i znaków wymiarowych.

I. Funkcja kwadratowa

Materiały pomocnicze do programu AutoCAD 2014

KURS FUNKCJE. LEKCJA 2 PODSTAWOWA Przekształcenia wykresu funkcji ZADANIE DOMOWE. Strona 1

Cykl lekcji informatyki w klasie IV szkoły podstawowej. Wstęp

Grafika rastrowa (bitmapa)-

Podstawy Informatyki Wykład V

b) Dorysuj na warstwie pierwszej (1) ramkę oraz tabelkę (bez wymiarów) na warstwie piątej (5) według podanego poniżej wzoru:

Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami Technik elektronik 311[07]

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

Podstawy programowanie systemów wizyjnych InSight firmy Cognex. Środowisku InSight Explorer / Spreadshee

Wstęp do programowania

WYMAGANIA EDUKACYJNE z Technologii i konstrukcji mechanicznych dla klasy I technikum

Modele i symulacje - Scratch i Excel

TWORZENIE OBIEKTÓW GRAFICZNYCH

Wymagania edukacyjne na poszczególne oceny z matematyki w klasie III gimnazjum

WYMIAROWANIE Linie wymiarowe Strzałki wymiarowe Liczby wymiarowe

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY PIERWSZEJ

Temat Zasady projektowania naziemnego pomiaru fotogrametrycznego. 2. Terenowy rozmiar piksela. 3. Plan pomiaru fotogrametrycznego

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Ćwiczenie nr 3 Edycja modeli bryłowych

Optymalizacja. Przeszukiwanie lokalne

Wstęp do programowania

Przykładowe plany zajęć lekcyjnych Design the Future Poland

Geometria analityczna

GRK 2. dr Wojciech Palubicki

FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE

8. Dynamiczne generowanie grafiki, cz. 2

Transkrypt:

Laboratorium grafiki i multimediów Michał Matuszak gruby@mat.umk.pl 22-02-2010

Algorithm 1 Algorytm naiwny. Dane:x 0,y 0,x 1,y 1 1:d x =x 1 x 0 2:d y =y 1 y 0 3:m =d y /d x 4:forx=x 0 tox 1 do 5: y =m (x x 0 )+y 0 6: putpixel(x,y) 7:endfor

cd. Założyliśmy, że: x 0 <x 1 d x d y W łatwy sposób można wyeliminować powyższe ograniczenia Podany algorytm jest zbyt wolny

Digital Differential Analyzer(DDA) Algorithm 2 Algorytm DDA. Dane:x 0,y 0,x 1,y 1 1:d x =x 1 x 0 2:d y =y 1 y 0 3:m =d y /d x 4:y =y 0 5:forx=x 0 tox 1 do 6: putpixel(x,y) 7: y =y +m 8:endfor Założenia na dane j.w. Niedokładny dla długich odcinków

Opracowany przez Bresenhama do kontroli drukarek Operuje na liczbach całkowitych Bardzo szybki Załóżmy, że x 1 x 0 y 1 y 0 x 1 x 0 y 1 y 0

Rysunek: Źródło: Algorithm for computer control of a digital plotter by J.E. Bresenham

Pseudokod Algorithm 3 Algorytm Bresenhama. Dane:x 0,y 0,x 1,y 1 1:d x =x 1 x 0 2:d y =y 1 y 0 3: =2 d y d x 4:y =y 0 5:forx=x 0 tox 1 do 6: putpixel(x,y) 7: = +2 d y 8: if 0then 9: y =y +1 10: = 2 d x 11: end if 12:endfor

Antiliasing Rysunek: Źródło: Wikipedia

Aliasing Aliasing- to strata informacji wynikająca ze zbyt rzadkiego próbkowania. Będziemy walczyć z aliasingiem na dwa sposoby: Supersampling Pre-filtering

Supersampling Algorytm: 1 Stwórzobrazek2x(lub4x,8x,...)większyodwyjściowego 2 Narysuj linie Pamiętaj o przeskalowaniu końców linii 3 Przeskaluj powstały obrazek do rozmiaru wyjściowego Można użyc prostego uśredniania bloków 2x2(lub 4x4, 8x8, etc.) Problem: Linia stała sie niewyraźna. Trzeba narysować szerszą linie. Możemy np.: 1 StawiaćwięcejniżjedenpunkwzdłużosiOY(np.3) 2 Zastosować algorytm rysujący linie o dowolnej grubości (Alg. Murphy ego).

Alg. Wu Rysunek: Źródło: Michael Abrash s Graphics Programming Black Book, Michael Abrash

Załóżmy, że mamy narysować linie w pierwszym oktancie. Przemieszczamy sie wzdłuż osi OX co jeden piksel. Algorytm rysuje zawsze po dwa piksele wzdłuż osi OY. Wybiera ich intensywność proporcjonalnie do odległości od idealnej linii. Ich intensywność sumuje się do 1. Jasność tak narysowanego odcinka skupia się na idealnej linii. Wu przedstawił algorytm potrafiący efektywnie obliczać odległość pikseli od idealnej linii. Algorytm niewiele ustępuje szybkością alg. Bresenhama.

Alg. Gupty-Sproull a Rysunek: Źródło: Filtering Edges for Gray-Scale Displays, Satish Gupta, Robert F. Sproull

Alg. Gupty-Sproull a Idea: 1 Ze środka każdego piksela rysujemy okrąg. 2 Obliczamy w jakim stopniu jest on pokryty przez linie. 3 Proporcjonalnie do znalezionego pokrycia wyznaczamy jego intensywność. Dlapromieniaokregur =1iszerokościliniit=1wkażdym kroku stawiamy trzy piksele. Można rysować linie o różnej grubości. Wolniejszy od algorytmu Wu.

: Napisz program rysujący dowolne linie z wykorzystaniem algorytmu naiwnego, przyrostowego oraz Bresenhama. Termin: 23:59 28.02.2010(niedziela) dodatkowe: Stwórz na co najmniej dwa sposoby linie korzystając z technik przeciwdziałających aliasingowi(supersamling, Wu, Gupta-Sprull). Termin: 23:59 07.03.2010(niedziela)