• Nie Znaleziono Wyników

Wprowadzenie

N/A
N/A
Protected

Academic year: 2021

Share "Wprowadzenie"

Copied!
28
0
0

Pełen tekst

(1)

Grafika Komputerowa. Wprowadzenie

Aleksander Denisiuk

Polsko-Japo ´nska Akademia Technik Komputerowych Wydział Informatyki w Gda ´nsku

ul. Brzegi 55 80-045 Gda ´nsk

(2)

Wprowadzenie

Wprowadzenie Interpolacja

2 / 28

Najnowsza wersja tego dokumentu dost ˛epna jest pod adresem

(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

(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

(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

e

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

(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

(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/

(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);

(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

(19)

Interpolacja

Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa

(20)

Zagadnienie interpolacji

Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa 20 / 28  Dane s ˛a w ˛ezły:

x

0

, . . . , x

n  Dane s ˛a warto´sci:

y

0

, . . . , y

n

 Wyznaczy´c funkcj ˛e

f

(x)

tak ˛a, ˙ze

f

(x

0

) = y

0, . . . ,

f

(x

n

) = y

n  Interpolacja wielomianowa:

f

(x)

jest wielomianem

(21)

Interpolacja jednowymiarowa

Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa 

x

0

, . . . , x

n

R



y

0

, . . . , y

n

R

Twierdzenie 1. Istnieje jedyny taki wielomian

f

(x)

stopnia

n

, ˙ze

(22)

Wielomian Lagrange’a

Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa 22 / 28

f

(x) = y

0

(x − x

1

) . . . (x − x

n

)

(x

0

x

1

) . . . (x

0

x

n

)

+

+ y

1

(x − x

0

)(x − x

2

) . . . (x − x

n

)

(x

1

x

0

)(x

1

x

2

) . . . (x

1

x

n

)

+ · · · +

+ y

k

(x − x

0

) . . . (x − x

k−1

)(x − x

k+1

) . . . (x − x

n

)

(x

k

x

0

) . . . (x

k

x

k−1

)(x

k

x

k+1

) . . . (x

k

x

n

)

+

+ · · · + y

n

(x − x

0

) . . . (x − x

n−1

)

(x

n

x

0

) . . . (x

n

x

n−1

)

(23)

Ilorazy ró˙zniczkowe

Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa

x

0

f

(x

0

)

f

(x

0

; x

1

)

x

1

f

(x

1

)

f

(x

0

; x

1

; x

2

)

f

(x

1

; x

2

)

f

(x

0

; x

1

; x

2

; x

3

)

x

2

f

(x

2

)

f

(x

1

; x

2

; x

3

)

. . .

f

(x

2

; x

3

)

f

(x

1

; x

2

; x

3

; x

4

)

. . .

x

3

f

(x

3

)

f

(x

2

; x

3

; x

4

)

. . . . . . . 

f

(x

0

; x

1

) =

f(xx11)−f (x0) −x0 ,

f

(x

1

; x

2

) =

f(x2)−f (x2) x2−x2 , . . . 

f

(x

0

; x

1

; x

2

) =

f(x1;xx22)−f (x0;x1) −x0 , . . . 

f

(x

0

; x

1

; x

2

; x

3

) =

f(x1;x2;xx33)−f (x−x0 0;x1;x2), . . .  . . . . 

f

(x

0

; . . . ; x

n

) =

f(x1;...;x n)−f (x0;...;xn−1) xn−x0 , . . .

(24)

Wielomian Newtona

Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa 24 / 28

f

(x) = f (x

0

) + f (x

0

; x

1

)(x − x

0

)+

+ f (x

0

; x

1

; x

2

)(x − x

0

)(x − x

1

)+

+ · · · + f (x

0

; . . . ; x

n

)(x − x

0

) . . . (x − x

n−1

)

(25)

Interpolacja liniowa

Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa

x

0

x

x

1

y

0

f

(x)

y

1

x

y



f

(x) = y

0xx−x0 1 −x1

+ y

1 x−x0 x1−x0 

f

(x) = y

0

+

xy11−y−x00

(x − x

0

)

(26)

Interpolacja sze ´scienna

Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa 26 / 28

x

k−1

x

k

x

k+1

x

k+2

x



x

k

= x

0

+ kh

,

k

= 0, 1, . . . , n

(27)

Interpolacja dwuliniowa

Wprowadzenie Interpolacja Zagadnienie Jednowymiarowa Dwuwymiarowa

(x

k

, y

k

)

(x

k+1

, y

k

)

(x

k

, y

k+1

)

(x

k+1

, y

k+1

)

(x, y)

(x, y

k

)

(x, y

k+1

)



f

(x, y) = f (x, y

k

)

yy−yk k+1 −yk+1

+ f (x, y

k+1

)

y−yk yk+1−yk 

f

(x, y

k

) = f (x

k

, y

k

)

xx−xk k+1 −xk+1

+ f (x

k+1

, y

k

)

x−xk xk+1−xk 

f

(x, y

k+1

) = f (x

k

, y

k+1

)

xx−xk−xk+1k+1

+ f (x

k+1

, y

k+1

)

xk+1x−x−xk k

(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

Obraz

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

Cytaty

Powiązane dokumenty

Dla każdego n proszę sprządzić wykresy funkcji (1) oraz wielomianu interpolacyjnego na jednym rysunku (będą 4 oddzielne rysunki).. Na krańcach przedziału interpolacji pojawią

, n, ale ponieważ w sumowaniu po wartościach funkcji sklejanych pojawiają się również te poło- żone na zewnątrz należy dołożyć po 1 węźle z lewej i prawej strony..

W celu wyznaczenia wartości drugich pochodnych trzeba skonstruować na podstawie od- ległości pomiędzy węzłami oraz wartości funkcji odpowiedni układ równań - tak jak po- kazano

Wywołanie procedury splint w Fortranie (wywoływana jest ona dla każdego xa dla którego chcemy znać wartość ya - pomiędzy węzłami interpolacji):1. call

Optymalny dobór węzłów interpolacji... Dziekuję za

W odróżnieniu od grafiki rastrowej, skalę obiektów wykonanych w grafice wektorowej można powiększać lub zmieniać bez uszczerbku na jakości.. Obraz taki może być wyświetlany

Uogólnieniem interpolacji Lagrange’a jest interpolacja l’Hermitte’a, w której w węzłach obok wartości funkcji mogą być również dane wartości pochodnych...

2) Interpolacja funkcji, której przebieg znacznie różni się od przebiegu wielomianu interpolacyjnego, może nie dawać dobrych wyników przy dużej liczbie węzłów..