• Nie Znaleziono Wyników

WSTĘP DO GRAFIKI KOMPUTEROWEJ

N/A
N/A
Protected

Academic year: 2021

Share "WSTĘP DO GRAFIKI KOMPUTEROWEJ"

Copied!
45
0
0

Pełen tekst

(1)

WSTĘP DO GRAFIKI KOMPUTEROWEJ

Miłosz Michalski

Institute of Physics Nicolaus Copernicus University

Październik 2015

1 / 15

(2)

Plan wykładu

Światło, kolor, zmysł wzroku.

Obraz: fotgrafia, grafika cyfrowa, poligrafia Grafika rastrowa: typowe narzędzia i techniki Grafika wektorowa: elementy i techniki Elementy grafiki 3D

(3)

Grafika wektorowa 3D — reprezentacja obiektów

Podobnie jak w przypadku grafiki wektorowej na płaszczyźnie, model analityczny opisany jest parametrycznie w przestrzeni 3D

Kula(x0, y0, z0, r , . . .)

Prostopadłościan(x1, y1, z1, a, b, c, . . .) Walec(x2, y2, z2, r , h, . . .)

. . .

Obraz powstaje przez rzutowanie modelu na zadaną płaszczyznę obserwacji

Rendering uwzględnia dane o położeniu obserwatora i oświetleniu

3 / 15

(4)

Grafika wektorowa 3D — reprezentacja obiektów

Podobnie jak w przypadku grafiki wektorowej na płaszczyźnie, model analityczny opisany jest parametrycznie w przestrzeni 3D

Kula(x0, y0, z0, r , . . .)

Prostopadłościan(x1, y1, z1, a, b, c, . . .) Walec(x2, y2, z2, r , h, . . .)

. . .

Obraz powstaje przez rzutowanie modelu na zadaną płaszczyznę obserwacji

Rendering uwzględnia dane o położeniu obserwatora i oświetleniu

(5)

Grafika wektorowa 3D — reprezentacja obiektów

Podobnie jak w przypadku grafiki wektorowej na płaszczyźnie, model analityczny opisany jest parametrycznie w przestrzeni 3D

Kula(x0, y0, z0, r , . . .)

Prostopadłościan(x1, y1, z1, a, b, c, . . .) Walec(x2, y2, z2, r , h, . . .)

. . .

Obraz powstaje przez rzutowanie modelu na zadaną płaszczyznę obserwacji

Rendering uwzględnia dane o położeniu obserwatora i oświetleniu

3 / 15

(6)

Grafika wektorowa 3D — reprezentacja obiektów

Podobnie jak w przypadku grafiki wektorowej na płaszczyźnie, model analityczny opisany jest parametrycznie w przestrzeni 3D

Kula(x0, y0, z0, r , . . .)

Prostopadłościan(x1, y1, z1, a, b, c, . . .) Walec(x2, y2, z2, r , h, . . .)

. . .

Obraz powstaje przez rzutowanie modelu na zadaną płaszczyznę obserwacji

(7)

Grafika wektorowa 3D — realistyczny rendering

Źródło: [1]

4 / 15

(8)

Grafika wektorowa 3D — realistyczny rendering

(9)

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającej powierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni:proste, wsteczne, mieszane

6 / 15

(10)

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła

Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającej powierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni:proste, wsteczne, mieszane

(11)

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającej powierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni:proste, wsteczne, mieszane

6 / 15

(12)

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającej powierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni:proste, wsteczne, mieszane

(13)

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającej powierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach

Odbicia i załamania wielokrotne Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni:proste, wsteczne, mieszane

6 / 15

(14)

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającej powierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni:proste, wsteczne, mieszane

(15)

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającej powierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni:proste, wsteczne, mieszane

6 / 15

(16)

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającej powierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni:proste, wsteczne, mieszane

(17)

Metody renderingu — forward raytracing

Symulacja Monte Carlo ruchu fotonów (ok. 106)

podlegających wieloktrotnym odbiciom, refrakcji, rozpraszaniu i pochłanianiu przez obiekty sceny

Większość symulowanych cząstek nigdy nie przecina

powierzchni rzutni, przez co znaczna część mocy obliczeniowej jest tracona

Dobra realistyczna jakość generowanego obrazu

7 / 15

(18)

Metody renderingu — forward raytracing

Symulacja Monte Carlo ruchu fotonów (ok. 106)

podlegających wieloktrotnym odbiciom, refrakcji, rozpraszaniu i pochłanianiu przez obiekty sceny

Większość symulowanych cząstek nigdy nie przecina

powierzchni rzutni, przez co znaczna część mocy obliczeniowej jest tracona

Dobra realistyczna jakość generowanego obrazu

(19)

Metody renderingu — forward raytracing

Symulacja Monte Carlo ruchu fotonów (ok. 106)

podlegających wieloktrotnym odbiciom, refrakcji, rozpraszaniu i pochłanianiu przez obiekty sceny

Większość symulowanych cząstek nigdy nie przecina

powierzchni rzutni, przez co znaczna część mocy obliczeniowej jest tracona

Dobra realistyczna jakość generowanego obrazu

7 / 15

(20)

Metody renderingu — forward raytracing

Symulacja Monte Carlo ruchu fotonów (ok. 106)

podlegających wieloktrotnym odbiciom, refrakcji, rozpraszaniu i pochłanianiu przez obiekty sceny

Większość symulowanych cząstek nigdy nie przecina

powierzchni rzutni, przez co znaczna część mocy obliczeniowej

(21)

Metody renderingu — backward raytracing

Odtwarzanie “historii” promienia na przedłużeniu linii od obserwatora do punktu (piksela) na rzutni

Obiekt na drodze promienia: z punktu incydencji prowadzone są promienie wtórne do źródeł światła by określić oświetlenie tego punktu (z pozycji obserwatora)

Atrybuty obiektu i jego powierzchni: matowa, lustrzana, przezroczysty; rekurencyjna kontynuacja promieni wtórnych (odbitych, załamanych)

8 / 15

(22)

Metody renderingu — backward raytracing

Odtwarzanie “historii” promienia na przedłużeniu linii od obserwatora do punktu (piksela) na rzutni

Obiekt na drodze promienia: z punktu incydencji prowadzone są promienie wtórne do źródeł światła by określić oświetlenie tego punktu (z pozycji obserwatora)

Atrybuty obiektu i jego powierzchni: matowa, lustrzana, przezroczysty; rekurencyjna kontynuacja promieni wtórnych (odbitych, załamanych)

(23)

Metody renderingu — backward raytracing

Odtwarzanie “historii” promienia na przedłużeniu linii od obserwatora do punktu (piksela) na rzutni

Obiekt na drodze promienia: z punktu incydencji prowadzone są promienie wtórne do źródeł światła by określić oświetlenie tego punktu (z pozycji obserwatora)

Atrybuty obiektu i jego powierzchni: matowa, lustrzana, przezroczysty; rekurencyjna kontynuacja promieni wtórnych (odbitych, załamanych)

8 / 15

(24)

Metody renderingu — backward raytracing

Odtwarzanie “historii” promienia na przedłużeniu linii od obserwatora do punktu (piksela) na rzutni

Obiekt na drodze promienia: z punktu incydencji prowadzone są promienie wtórne do źródeł światła by określić oświetlenie tego punktu (z pozycji obserwatora)

Atrybuty obiektu i jego powierzchni: matowa, lustrzana,

(25)

Backward raytracing: efekt cienia

Wtórne promienie z punktu incydencji dowszystkichźródeł światła

Kolor piksela na rzutni określany na podstawie barwy obiektu i światła Efekt cienia niezbyt realistyczny

Źródło: [3]

9 / 15

(26)

Backward raytracing: efekt cienia

Wtórne promienie z punktu incydencji dowszystkichźródeł światła

Kolor piksela na rzutni określany na podstawie barwy obiektu i światła Efekt cienia niezbyt realistyczny

Źródło: [3]

(27)

Backward raytracing: efekt cienia

Wtórne promienie z punktu incydencji dowszystkichźródeł światła

Kolor piksela na rzutni określany na podstawie barwy obiektu i światła

Efekt cienia niezbyt realistyczny

Źródło: [3]

9 / 15

(28)

Backward raytracing: efekt cienia

Wtórne promienie z punktu incydencji dowszystkichźródeł światła

Kolor piksela na rzutni określany na podstawie barwy obiektu i światła

(29)

Backward raytracing: odbicia i załamania

Wielokrotne odbicia

Rekursywne rozgałęzienia — odbicie + załamanie Kolor piksela: sumaryczny efekt wstecznego śledzenia promienia z rozgałęzieniami

10 / 15

(30)

Backward raytracing: odbicia i załamania

Wielokrotne odbicia

Rekursywne rozgałęzienia — odbicie + załamanie Kolor piksela: sumaryczny efekt wstecznego śledzenia promienia z rozgałęzieniami

(31)

Backward raytracing: odbicia i załamania

Wielokrotne odbicia

Rekursywne rozgałęzienia — odbicie + załamanie

Kolor piksela: sumaryczny efekt wstecznego śledzenia promienia z rozgałęzieniami

10 / 15

(32)

Backward raytracing: odbicia i załamania

Wielokrotne odbicia

Rekursywne rozgałęzienia — odbicie + załamanie Kolor piksela: sumaryczny efekt wstecznego śledzenia

(33)

Algorytm wstecznego śledzenia promieni

kolor BackTrace (X ,s) {

przedłuż promień z X w kierunkus;

wyznacz punkt Y incydencji promienia z obiektem na scenie;

if (brak Y ) { return kolor tła; } else {

K1= 0;

for (S ∈ źródło światła) K1 = K1+ oświetlenie (S , Y );

if (odbicie w Y ) {s0= odbij (s, Y ); K2 = BackTrace (Y ,s0); } if (załamanie w Y ) {s00= załam (s, Y ); K3 = BackTrace (Y ,s00); } return K1+ K2+ K3;

} }

for (P ∈ piksele rzutni) {

wyznacz kierunek wektorar od obserwatora do P;

Kolor[P] = BackTrace (P,r);

};

11 / 15

(34)

Metody mieszane: globalne oświetlenie

Metoda dwuprzebiegowa: a) propagacja fotonów od źródeł światła w celu utworzenia mapy ich rozkładu na obiektach; b) właściwy rendering — wsteczne śledzenie promieni Mapowanie: rejestracja fotonów na powierzchni obiektów po ich odbiciu, rozproszeniu lub refrakcji (mapa ma stanowić poprawkę do bezpośredniego oświetlenia obliczanego przez wsteczne śledzenie)

Wsteczne śledzenie uwzględnia 4 składowe oświetlenia punktu na scenie: bezpośrednie i pochodzące z lustrzanych odbić (obliczane w zwykły sposób)

oraz ogniskowanie światła (caustics) i oświetlenie rozproszone obliczane na bazie mapy fotonowej (Źródło: [4]).

(35)

Metody mieszane: globalne oświetlenie

Metoda dwuprzebiegowa: a) propagacja fotonów od źródeł światła w celu utworzenia mapy ich rozkładu na obiektach;

b) właściwy rendering — wsteczne śledzenie promieni

Mapowanie: rejestracja fotonów na powierzchni obiektów po ich odbiciu, rozproszeniu lub refrakcji (mapa ma stanowić poprawkę do bezpośredniego oświetlenia obliczanego przez wsteczne śledzenie)

Wsteczne śledzenie uwzględnia 4 składowe oświetlenia punktu na scenie: bezpośrednie i pochodzące z lustrzanych odbić (obliczane w zwykły sposób)

oraz ogniskowanie światła (caustics) i oświetlenie rozproszone obliczane na bazie mapy fotonowej (Źródło: [4]).

12 / 15

(36)

Metody mieszane: globalne oświetlenie

Metoda dwuprzebiegowa: a) propagacja fotonów od źródeł światła w celu utworzenia mapy ich rozkładu na obiektach;

b) właściwy rendering — wsteczne śledzenie promieni Mapowanie: rejestracja fotonów na powierzchni obiektów po ich odbiciu, rozproszeniu lub refrakcji (mapa ma stanowić poprawkę do bezpośredniego oświetlenia obliczanego przez wsteczne śledzenie)

Wsteczne śledzenie uwzględnia 4 składowe oświetlenia punktu na scenie: bezpośrednie i pochodzące z lustrzanych odbić (obliczane w zwykły sposób)

oraz ogniskowanie światła (caustics) i oświetlenie rozproszone obliczane na bazie mapy fotonowej (Źródło: [4]).

(37)

Metody mieszane: globalne oświetlenie

Metoda dwuprzebiegowa: a) propagacja fotonów od źródeł światła w celu utworzenia mapy ich rozkładu na obiektach;

b) właściwy rendering — wsteczne śledzenie promieni Mapowanie: rejestracja fotonów na powierzchni obiektów po ich odbiciu, rozproszeniu lub refrakcji (mapa ma stanowić poprawkę do bezpośredniego oświetlenia obliczanego przez wsteczne śledzenie)

Wsteczne śledzenie uwzględnia 4 składowe oświetlenia punktu na scenie: bezpośrednie i pochodzące z lustrzanych odbić (obliczane w zwykły sposób)

oraz ogniskowanie światła (caustics) i oświetlenie rozproszone obliczane na bazie mapy fotonowej (Źródło: [4]).

12 / 15

(38)

Metody mieszane: mapowanie fotonów

Źródło: [5]

Źródło: [6]

(39)

Metody mieszane: mapowanie fotonów

Źródło: [5]

Źródło: [6]

13 / 15

(40)

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przez wielokrotne odbicia

Rozkład obiektów na

skończoną liczbę płatów {Si} Dla każdego Si określona jest jego energia świetlna Ri (radiosity)

oraz współczynnik odbicia (pochłaniania) światła ρi

Dla każdej pary Si, Sj określony jest współczynnik sprzężenia optycznego γij (ile energii świetlnej przekazywanej jest z Sj do Si), zależny m.in. od ich wzajemnego położenia

Rit+1= Rit+ ρi

X

j

γijRjt,

gdzie t to numer iteracji

(41)

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przez wielokrotne odbicia

Rozkład obiektów na

skończoną liczbę płatów {Si}

Dla każdego Si określona jest jego energia świetlna Ri (radiosity)

oraz współczynnik odbicia (pochłaniania) światła ρi

Dla każdej pary Si, Sj określony jest współczynnik sprzężenia optycznego γij (ile energii świetlnej przekazywanej jest z Sj do Si), zależny m.in. od ich wzajemnego położenia

Rit+1= Rit+ ρi

X

j

γijRjt,

gdzie t to numer iteracji

14 / 15

(42)

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przez wielokrotne odbicia

Rozkład obiektów na

skończoną liczbę płatów {Si} Dla każdego Si określona jest jego energia świetlna Ri (radiosity)

oraz współczynnik odbicia (pochłaniania) światła ρi

Dla każdej pary Si, Sj określony jest współczynnik sprzężenia optycznego γij (ile energii świetlnej przekazywanej jest z Sj do Si), zależny m.in. od ich wzajemnego położenia

Rit+1= Rit+ ρi

X

j

γijRjt,

gdzie t to numer iteracji

(43)

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przez wielokrotne odbicia

Rozkład obiektów na

skończoną liczbę płatów {Si} Dla każdego Si określona jest jego energia świetlna Ri (radiosity)

oraz współczynnik odbicia (pochłaniania) światła ρi

Dla każdej pary Si, Sj określony jest współczynnik sprzężenia optycznego γij (ile energii świetlnej przekazywanej jest z Sj do Si), zależny m.in. od ich wzajemnego położenia

Rit+1= Rit+ ρi

X

j

γijRjt,

gdzie t to numer iteracji

14 / 15

(44)

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przez wielokrotne odbicia

Rozkład obiektów na

skończoną liczbę płatów {Si} Dla każdego Si określona jest jego energia świetlna Ri (radiosity)

oraz współczynnik odbicia (pochłaniania) światła ρi

Dla każdej pary Si, Sj określony jest współczynnik sprzężenia optycznego γij (ile energii świetlnej przekazywanej jest z Sj do Si), zależny m.in. od ich wzajemnego położenia

Rit+1= Rit+ ρi

XγijRjt,

(45)

Źródła ilustracji

[1] Autor: Shen, Wikipedia, https://commons.wikimedia.org/wiki/File:

Raytracing reflection.png#/media/File:Raytracing reflection.png [2] Autor: Gilles Tran, Wikipedia, https://commons.wikimedia.org/wiki/File:

Glasses 800 edit.png#/media/File:Glasses 800 edit.png

[3] https://commons.wikimedia.org/wiki/File:Radiosity Comparison.jpg [4] https://commons.wikimedia.org/wiki/File:3d-art-of-illusion-glas.jpg [5] https://commons.wikimedia.org/wiki/File:Caustics.png,

https://de.wikipedia.org/wiki/Photon Mapping#/media/File:Glas-2000-enery.jpg [6] https://www.cs.berkeley.edu/∼sequin/CS184/TOPICS/GlobalIllumination/Gill a.html

15 / 15

Cytaty

Powiązane dokumenty

Źródła LED pobierają też z sieci znaczną ilość mocy biernej, przez co ich współ- czynnik mocy ma niższe wartości, dla źródeł o mniejszej mocy znamionowej

.energia promienia światła ze źródła punktowego nie rozkłada się w sposób ciągły w powiększającej się objętości, ale składa się ze skończonej liczby kwantów energii,

po- wstała nazwa „foton” 4 , wbrew swemu pierwotnemu, dość mętnemu znaczeniu, błyskawicznie przyjęła się jako określenie kwantu światła, którego istnienie wy- dawało

System Pantone standaryzuje kolory bazowe procesów CMYK Większość z 1114 podstawowych barw Pantone nie daje się wiernie reprezentować w procesie CMYK. Wymagają one użycia do

Wczesne obrazy srebrowe łatwo ulegały chemicznej degradacji (utlenianie) Tonowanie — przeprowadzanie srebra metalicznego do trwalszych, brązowawych siarczków srebra..

PostScript (Adobe, 1982): język programowania (podobny do języka poleceń sterujących plotera), interpretowany przez tzw. drukarki PS) o architekturze wykorzystującej pamięć stosową

Zatem źródła fluorescencyjne nie powinny być stosowane w środowisku, którego specyfiką jest wymóg uzyskiwania bezpośrednio po włączeniu lampy stałych

(add(label)) do głównego pojemnika ramki reprezentowanej przez frame – jest to obiekt klasy JComponent do którego odnośnik (typu Container) zwracany jest przez metodę