Grafika Komputerowa. Wprowadzenie
Total Page:16
File Type:pdf, Size:1020Kb
Grafika Komputerowa. Wprowadzenie Aleksander Denisiuk Polsko-Japonska´ Akademia Technik Komputerowych Wydział Informatyki w Gdansku´ ul. Brzegi 55 80-045 Gdansk´ [email protected] 1/28 Wprowadzenie Wprowadzenie Najnowsza wersja tego dokumentu dost˛epna jest pod adresem Interpolacja http://users.pja.edu.pl/~denisjuk 2/28 Wprowadzenie Wizualizacja Blender Uznanie Trzy modele wyswietlaczy´ graficznych Interpolacja Wprowadzenie 3/28 Wizualizacja komputerowa Wprowadzenie potrzeby wizualizacji Wizualizacja Blender Antonie van Leeuwenhoek, mikroskop 1677 Uznanie Trzy modele Karta dziurkowana wyswietlaczy´ graficznych CRT (Cathode Ray Tube) Interpolacja 1897, Ferdinand Braun 1951, MIT, Whirlwind computer 4/28 Interakcja Wprowadzenie tryb tekstowy Wizualizacja 1961, MIT, Ivan Sutherland, Sketchpad Blender Uznanie Trzy modele wyswietlaczy´ graficznych Interpolacja grafika komputerowa w czasie rzeczywistym 1968, Ivan Sutherland oraz Bob Sproull, “The Sword of Damocles”: proste trójwymiarowe modele szkeletowe 5/28 Ewolucja sprz˛etowa Wprowadzenie Wizualizacja Lata 1940 – lata 1950, pierwsza Blender generacja Uznanie Połowa lat 1950, druga Trzy modele wyswietlaczy´ generacja: tranzystory graficznych Połowa lat 1960, trzecia Interpolacja generacja: układy scalone, UNIX 1971, czwarta generacja: mikroprocesor (Intel) 6/28 Komputery osobiste Wprowadzenie Wizualizacja Pocz ˛atek lat 1970: pierwszy Blender komputer osobisty Uznanie 1977: Apple II, PET Trzy modele wyswietlaczy´ (Commodore International) graficznych Lata 1980: GIU (GUI), CGA Interpolacja 7/28 Gry komputerowe Wprowadzenie Lata 1970 – 1980: gry wideo na specjalizowanych systemach, Wizualizacja animacja komputerowa w filmach: rzadko, 3W grafika w czasie Blender Uznanie rzeczywistym: tylko dla wizualizacji Trzy modele wyswietlaczy´ 1992: Wolfenstein 3D (id Software) graficznych 1993: Doom (id Software): 3W grafika renderowana w czasie Interpolacja rzeczywistym (programowo) 8/28 Ewolucja kart graficznych Wprowadzenie Koniec lat 1990: openGL standardem 3W grafiki Wizualizacja Blender CAD, Quake 2, Unreal, Half-Life Uznanie Trzy modele Pierwsze dedykowane 3W karty graficzne wyswietlaczy´ graficznych ATI 3D Rage, S3 ViRGE Interpolacja Voodoo Graphics (3Dfx Interactive) Glide API NVIDIA GeForce 256 GPU (Graphics Processing Unit) T&L (Transform & Lighting) Pocz ˛atek 2000: NVIDIA GeForce 2, ATI Radeon 7000 OpenGL, Direct3D 9/28 Biblioteka Graficzna OpenGL Wprowadzenie http://www.opengl.org Wizualizacja Blender Uznanie Trzy modele wyswietlaczy´ graficznych Interpolacja 10 / 28 Blender Wprowadzenie http://www.blender.org Wizualizacja Blender NeoGeo (Ton Roosendaal, Holandia) Uznanie 1998: NeoGeo Trzy modele wyswietlaczy´ 2002: Blender Foundation, GNU graficznych e Interpolacja od 18 lipca do 13 pa´zdziernika zebrano 100 000 2011: Blender 2.5 35 pa´zdziernika 2013: Blender 2.69 26 czerwca 2014: Blender 2.71 9 pa´zdziernika 2015: Blender 2.76b (ostatnia wersja dla Windows XP) 31 grudnia 2018: 2.80 (cycles, eewee) 3 czerwca 2020: 2.83 LTS 31 sierpnia 2020: 2.90 repozytorium git 11 / 28 Filmy Wprowadzenie 2004: Spiderman 2 Wizualizacja 24 Marca 2006: Elephants Dream Blender Uznanie 30 Maja 2008: Big Buck Bunny Trzy modele wyswietlaczy´ 30 wrzesnia´ 2010: Sintel graficznych 26 wrzesnia´ 2012: Tears of Steel Interpolacja 2015 Cosmos Laundromat (24 wrzesnia´ — Netherlands Film Festival) 2015: Glass Half 2017: Agent 327 Blender Institute Open Movies 12 / 28 Blend4Web Wprowadzenie WebGL, Web Audio, etc — bez wtyczek Wizualizacja Experience Curiosity Blender Uznanie Trzy modele wyswietlaczy´ graficznych Interpolacja 13 / 28 Prawa autorskie na obrazki Wprowadzenie Niektóre obrazki (te, co maj ˛apodpisy w j˛ezyku angielskim)) w tej Wizualizacja i innych prezentacjach pochodz ˛az ksi ˛azki˙ SAMUEL R. BUSS: 3-D Blender Uznanie Computer Graphics. A Mathematical Introduction with OpenGL Trzy modele wyswietlaczy´ http://www.math.ucsd.edu/~sbuss/MathCG/ graficznych Prawa autorskie na te obrazki nalez˙ ˛ado Cambridge University Press Interpolacja 14 / 28 Grafika rastrowa Wprowadzenie tablica pikseli Wizualizacja Blender Uznanie Trzy modele wyswietlaczy´ graficznych Interpolacja ÙÖ Áº½ ÔÜÐ × ÓÖÑ ÖÓÑ ×ÙÖÓÒ× ÓÖ ×ÙÔÜÐ׸ Ó ×ÔÐÝ× ÓÒ Ó ØÖ Ë ÔÐØ º½º 15 / 28 Grafika wektorowa Wprowadzenie prymitywy graficzne Wizualizacja Ý Blender ÔeÒÙÔ´µ; Uznanie ÑÓÚeØÓ´¾¸¾µ; ¾ Trzy modele ÔeÒdÓÛÒ´µ; wyswietlaczy´ ÑÓÚeØÓ´¾¸½µ; graficznych ÔeÒÙÔ´µ; ÑÓÚeØÓ´½¸¾µ; ½ Interpolacja ÔeÒdÓÛÒ´µ; ÑÓÚeØÓ´¼¸¾µ; ÑÓÚeØÓ´½¸½µ; Ü ÑÓÚeØÓ´½¸¾µ; ½ ¾ ÙÖ Áº¾ ÜÑÔÐ× Ó Ú 16 / 28 Grafika rastrowa a wektorowa Wprowadzenie Wizualizacja Blender Uznanie Trzy modele wyswietlaczy´ graficznych Interpolacja 17 / 28 Grafika 3W Wprowadzenie przymitywy graficzne Wizualizacja wieloboki (slang: polygony) Blender Uznanie renderowanie Trzy modele wyswietlaczy´ w czasie rzeczywistym graficznych nie w czasie rzeczywistym Interpolacja 18 / 28 Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa Interpolacja 19 / 28 Zagadnienie interpolacji Wprowadzenie Dane s ˛a w˛ezły: x0,...,xn Interpolacja Dane s ˛a wartosci:´ y0,...,yn Zagadnienie Wyznaczyc´ funkcj˛e f x tak ˛a, ze˙ f x y ,..., f x y Jednowymiarowa ( ) ( 0) = 0 ( n) = n Dwuwymiarowa Interpolacja wielomianowa: f(x) jest wielomianem 20 / 28 Interpolacja jednowymiarowa Wprowadzenie x0,...,xn ∈ R Interpolacja y0,...,yn ∈ R Zagadnienie Jednowymiarowa Twierdzenie 1. Istnieje jedyny taki wielomian f x stopnia n, ze˙ Dwuwymiarowa ( ) f(x0) = y0,..., f(xn) = yn. 21 / 28 Wielomian Lagrange’a Wprowadzenie Interpolacja (x − x ) ... (x − x ) Zagadnienie 1 n f(x) = y0 + Jednowymiarowa (x0 − x1) ... (x0 − xn) Dwuwymiarowa (x − x0)(x − x2) ... (x − xn) + y1 + ··· + (x1 − x0)(x1 − x2) ... (x1 − xn) (x − x0) ... (x − xk−1)(x − xk+1) ... (x − xn) + yk + (xk − x0) ... (xk − xk−1)(xk − xk+1) ... (xk − xn) (x − x0) ... (x − xn−1) + ··· + yn (xn − x0) ... (xn − xn−1) 22 / 28 Ilorazy ró˙zniczkowe Wprowadzenie x0 f(x0) Interpolacja f(x ; x ) Zagadnienie 0 1 Jednowymiarowa x1 f(x1) f(x0; x1; x2) Dwuwymiarowa f(x1; x2) f(x0; x1; x2; x3) x2 f(x2) f(x1; x2; x3) ... f(x2; x3) f(x1; x2; x3; x4) ... x3 f(x3) f(x2; x3; x4) ... ................................................... .................. f(x1)−f(x0) f(x2)−f(x2) f(x ; x ) = , f(x ; x ) = ,... 0 1 x1−x0 1 2 x2−x2 f(x1;x2)−f(x0;x1) f(x ; x ; x ) = ,... 0 1 2 x2−x0 f(x1;x2;x3)−f(x0;x1;x2) f x x x x ,... ( 0; 1; 2; 3) = x3−x0 ................................................... f(x1;...;xn)−f(x0;...;xn−1) f x ... x ,... ( 0; ; n) = xn−x0 23 / 28 Wielomian Newtona Wprowadzenie Interpolacja Zagadnienie f(x) = f(x0) + f(x0; x1)(x − x0)+ Jednowymiarowa − − Dwuwymiarowa + f(x0; x1; x2)(x x0)(x x1)+ + ··· + f(x0; ... ; xn)(x − x0) ... (x − xn−1) To jest ten sam wielomian zapisany inaczej 24 / 28 Interpolacja liniowa Wprowadzenie y Interpolacja y1 Zagadnienie Jednowymiarowa Dwuwymiarowa f(x) y0 x x0 x x1 f x y x−x1 y x−x0 ( ) = 0 x0−x1 + 1 x1−x0 − f x y y1 y0 x − x ( ) = 0 + x1−x0 ( 0) 25 / 28 Interpolacja szescienna´ Wprowadzenie x xk−1 xk xk+1 xk+2 Interpolacja Zagadnienie xk = x0 + kh, k =0, 1,...,n − Jednowymiarowa k = x x0 (cz˛es´c´ całkowita, podłoga, floor) Dwuwymiarowa h 26 / 28 Interpolacja dwuliniowa (x, yk+1) Wprowadzenie (xk, yk+1) (xk+1, yk+1) Interpolacja Zagadnienie Jednowymiarowa (x, y) Dwuwymiarowa (xk, yk) (xk+1, yk) (x, yk) − − f(x, y) = f(x, y ) y yk+1 + f(x, y ) y yk k yk−yk+1 k+1 yk+1−yk − − f(x, y ) = f(x , y ) x xk+1 + f(x , y ) x xk k k k xk−xk+1 k+1 k xk+1−xk − − f(x, y ) = f(x , y ) x xk+1 + f(x , y ) x xk k+1 k k+1 xk−xk+1 k+1 k+1 xk+1−xk 27 / 28 Interpolacja dwuszescienna´ (xk−1,yk+2) (xk+2,yk+1) Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa yk+1 (x, y) yk (xk−1,yk−1) xk xk+1 (xk+2,yk−1) 28 / 28.