• Nie Znaleziono Wyników

Elementy grafiki komputerowej. Wprowadzenie

N/A
N/A
Protected

Academic year: 2021

Share "Elementy grafiki komputerowej. Wprowadzenie"

Copied!
28
0
0

Pełen tekst

(1)

Elementy grafiki komputerowej. Wprowadzenie

Aleksander Denisiuk

Uniwersytet Warmi ´nsko-Mazurski Olsztyn, ul. Słoneczna 54

denisjuk@matman.uwm.edu.pl

(2)

Wprowadzenie

Wprowadzenie Interpolacja

2 / 28

Najnowsza wersja tego dokumentu dost ˛epna jest pod adresem

http://wmii.uwm.edu.pl/~denisjuk/uwm

(3)

Wprowadzenie

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

(4)

Wizualizacja komputerowa

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

4 / 28

potrzeby wizualizacji

Antonie van Leeuwenhoek, mikroskop 1677

Karta dziurkowana

CRT (Cathode Ray Tube)

1897, Ferdinand Braun

1951, MIT, Whirlwind computer

(5)

Interakcja

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

tryb tekstowy

1961, MIT, Ivan Sutherland, Sketchpad

grafika komputerowa w czasie rzeczywistym

1968, Ivan Sutherland oraz Bob Sproull, “The Sword of Damocles”: proste trójwymiarowe modele szkeletowe

(6)

Ewolucja sprz ˛etowa

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

6 / 28

Lata 1940 – lata 1950, pierwsza generacja

Połowa lat 1950, druga generacja: tranzystory

Połowa lat 1960, trzecia generacja: układy

scalone, UNIX

1971, czwarta generacja:

mikroprocesor (Intel)

(7)

Komputery osobiste

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

Pocz ˛atek lat 1970:

pierwszy komputer osobisty

1977: Apple II, PET (Commodore

International)

Lata 1980: GIU (GUI), CGA

(8)

Gry komputerowe

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

8 / 28

Lata 1970 – 1980: gry wideo na specjalizowanych

systemach, animacja komputerowa w filmach: rzadko, 3W grafika w czasie rzeczywistym: tylko dla wizualizacji

1992: Wolfenstein 3D (id Software)

1993: Doom (id Software): 3W grafika renderowana w czasie rzeczywistym (programowo)

(9)

Ewolucja kart graficznych

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

Koniec lat 1990: openGL standardem 3W grafiki

CAD, Quake 2, Unreal, Half-Life

Pierwsze dedykowane 3W karty graficzne

ATI 3D Rage, S3 ViRGE

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

(10)

Biblioteka Graficzna OpenGL

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

10 / 28

http://www.opengl.org

(11)

Blender

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

http://www.blender.org

NeoGeo (Ton Roosendaal, Holandia)

1998: NeoGeo

2002: Blender Foundation, GNU

od 18 lipca do 13 pa´zdziernika zebrano e100 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)

1 wrze´snia 2021: 2.93. LTS

repozytorium git

(12)

Filmy

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

12 / 28

2004: Spiderman 2

24 Marca 2006: Elephants Dream

30 Maja 2008: Big Buck Bunny

30 wrze´snia 2010: Sintel

26 wrze´snia 2012: Tears of Steel

2015 Cosmos Laundromat (24 wrze´snia — Netherlands Film Festival)

2015: Glass Half

2017: Agent 327

Blender Institute Open Movies

(13)

Blend4Web

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

WebGL, Web Audio, etc — bez wtyczek

Experience Curiosity

(14)

Prawa autorskie na obrazki

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

14 / 28

Niektóre obrazki (te, co maj ˛a podpisy w j ˛ezyku

angielskim)) w tej i innych prezentacjach pochodz ˛a z ksi ˛a˙zki SAMUEL R. BUSS: 3-D Computer Graphics.

A Mathematical Introduction with OpenGL

http://www.math.ucsd.edu/~sbuss/MathCG/

Prawa autorskie na te obrazki nale˙z ˛a do Cambridge University Press

(15)

Grafika rastrowa

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

tablica pikseli

Figure I.1: A pixel is formed from subregions or subpixels, ea h of whi h

displaysoneofthree olors. See olorplateC.1.

(16)

Grafika wektorowa

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

16 / 28

prymitywy graficzne

y

x

1 2

1 2

penup();

moveto(2,2);

pendown();

moveto(2,1);

penup();

moveto(1,2);

pendown();

moveto(0,2);

moveto(1,1);

moveto(1,2);

Figure I.2: Examples of ve tor graphi s ommands.

(17)

Grafika rastrowa a wektorowa

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

(18)

Grafika 3W

Wprowadzenie

Wizualizacja

Blender

Uznanie

Trzy modele wy´swietlaczy graficznych Interpolacja

18 / 28

przymitywy graficzne

wieloboki (slang: polygony )

renderowanie

w czasie rzeczywistym

nie w czasie rzeczywistym

(19)

Interpolacja

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

(20)

Zagadnienie interpolacji

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

20 / 28

Dane s ˛a w ˛ezły: x0, . . . , xn

Dane s ˛a warto´sci: y0, . . . , yn

Wyznaczy´c funkcj ˛e f(x) tak ˛a, ˙ze f(x0) = y0, . . . , f(xn) = yn

Interpolacja wielomianowa: f(x) jest wielomianem

(21)

Interpolacja jednowymiarowa

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

x0, . . . , xn ∈ R

y0, . . . , yn ∈ R

Twierdzenie 1. Istnieje jedyny taki wielomian f(x) stopnia n,

˙ze f (x0) = y0, . . . , f(xn) = yn.

(22)

Wielomian Lagrange’a

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

22 / 28

f(x) = y0 (x − x1) . . . (x − xn) (x0 − x1) . . . (x0 − xn)+

+ y1 (x − x0)(x − x2) . . . (x − xn)

(x1 − x0)(x1 − x2) . . . (x1 − xn) + · · · + + yk (x − x0) . . . (x − xk−1)(x − xk+1) . . . (x − xn)

(xk − x0) . . . (xk − xk−1)(xk − xk+1) . . . (xk − xn)+ + · · · + yn (x − x0) . . . (x − xn−1)

(xn − x0) . . . (xn − xn−1)

(23)

Ilorazy ró˙zniczkowe

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

x0 f(x0)

f(x0; x1)

x1 f(x1) f(x0; x1; x2)

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(x0; x1) = f(xx1)−f (x0)

1−x0 , f(x1; x2) = f(xx2)−f (x2)

2−x2 , . . .

f(x0; x1; x2) = f(x1;xx2)−f (x0;x1)

2−x0 , . . .

f(x0; x1; x2; x3) = f(x1;x2;xx3)−f (x0;x1;x2)

3−x0 , . . .

. . . .

f(x0; . . . ; xn) = f(x1;...;xnx)−f (xn 0;...;xn−1)

−x0 , . . .

(24)

Wielomian Newtona

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

24 / 28

f(x) = f (x0) + f (x0; x1)(x − x0)+

+ f (x0; x1; x2)(x − x0)(x − x1)+

+ · · · + f (x0; . . . ; xn)(x − x0) . . . (x − xn−1)

To jest ten sam wielomian zapisany inaczej

(25)

Interpolacja liniowa

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

x0 x x1

y0 f(x) y1

x y

f(x) = y0xx−x1

0−x1 + y1xx−x0

1−x0

f(x) = y0 + xy1−y0

1−x0(x − x0)

(26)

Interpolacja sze ´scienna

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

26 / 28

xk−1 xk xk+1 xk+2 x

xk = x0 + kh, k = 0, 1, . . . , n

k = x−x0

h  (cz˛e´s´c całkowita, podłoga, floor)

(27)

Interpolacja dwuliniowa

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

(xk, yk) (xk+1, yk) (xk, yk+1) (xk+1, yk+1)

(x, y)

(x, yk) (x, yk+1)

f(x, y) = f (x, yk)yy−yk+1

k−yk+1 + f (x, yk+1)y y−yk

k+1−yk

f(x, yk) = f (xk, yk)xx−xk k+1

−xk+1 + f (xk+1, yk)x x−xk

k+1−xk

f(x, yk+1) = f (xk, yk+1)xx−xk+1

k−xk+1+f (xk+1, yk+1)x x−xk

k+1−xk

(28)

Interpolacja dwusze ´scienna

Wprowadzenie Interpolacja

Zagadnienie

Jednowymiarowa

Dwuwymiarowa

28 / 28

(x, y)

(xk−1, yk−1) xk xk+1 (xk+2, yk−1) (xk−1, yk+2) (xk+2, yk+1)

yk

yk+1

Cytaty

Powiązane dokumenty

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych zamiejscowy o´srodek dydaktyczny w Gda

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych zamiejscowy o´srodek dydaktyczny w Gda

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych zamiejscowy o´srodek dydaktyczny w Gda

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych zamiejscowy o´srodek dydaktyczny w Gda

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych zamiejscowy o´srodek dydaktyczny w Gda

Polsko-Japo ´nska Wy˙zsza Szkoła Technik Komputerowych zamiejscowy o´srodek dydaktyczny w Gda

Zauważmy, że mamy położenie kamery (początek układu współrzędnych) oraz bliższą podstawę ostrosłupa ściętego, a także odległości do bliższej i dalszej podstawy, a więc