• Nie Znaleziono Wyników

WSTĘP DO GRAFIKI KOMPUTEROWEJ

N/A
N/A
Protected

Academic year: 2021

Share "WSTĘP DO GRAFIKI KOMPUTEROWEJ"

Copied!
41
0
0

Pełen tekst

(1)

WSTĘP DO GRAFIKI KOMPUTEROWEJ

Miłosz Michalski

Institute of Physics Nicolaus Copernicus University

Październik 2015

(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 — reprezentacja obiektów

Obraz opisany analitycznie w wirtualnym układzie współrz.

Koło(x0, y0, r , gl, kl, kw, . . .)

Prostokąt(x0, y0, a, b, α, gl, kl, kw, . . .) Napis(x0, y0, “Abc”, 35pt, α, gl, kl, kw, . . .) . . .

Możliwość zmiany kolejności (“wysokości”) obiektów lub ich przezroczystości

(4)

Grafika wektorowa — reprezentacja obiektów

Obraz opisany analitycznie w wirtualnym układzie współrz.

Koło(x0, y0, r , gl, kl, kw, . . .)

Prostokąt(x0, y0, a, b, α, gl, kl, kw, . . .) Napis(x0, y0, “Abc”, 35pt, α, gl, kl, kw, . . .) . . .

Możliwość zmiany kolejności (“wysokości”) obiektów lub ich przezroczystości

(5)

Grafika wektorowa — reprezentacja obiektów

Obraz opisany analitycznie w wirtualnym układzie współrz.

Koło(x0, y0, r , gl, kl, kw, . . .)

Prostokąt(x0, y0, a, b, α, gl, kl, kw, . . .) Napis(x0, y0, “Abc”, 35pt, α, gl, kl, kw, . . .) . . .

Możliwość zmiany kolejności (“wysokości”) obiektów lub ich przezroczystości

(6)

Grafika wektorowa — krzywe

Przybliżanie przez liniowe segmenty (łamane) — słabe włansości skalowania

Segmenty paraboliczne są nadal zbyt “sztywne”: nie można wymusić gładkości połączeń na obu końcach jednocześnie. Minimalna liczba parametrów kontrolnych — 8:

po 2 na współrzędne punktów końcowych i po 2 na składowe wektorów kierunkowych

(7)

Grafika wektorowa — krzywe

Przybliżanie przez liniowe segmenty (łamane) — słabe włansości skalowania

Segmenty paraboliczne są nadal zbyt “sztywne”: nie można wymusić gładkości połączeń na obu końcach jednocześnie.

Minimalna liczba parametrów kontrolnych — 8:

po 2 na współrzędne punktów końcowych i po 2 na składowe wektorów kierunkowych

(8)

Grafika wektorowa — krzywe

(x , y )0 0

(x , y )1 1 a1

b1

a0

b0

Przybliżanie przez liniowe segmenty (łamane) — słabe włansości skalowania

Segmenty paraboliczne są nadal zbyt “sztywne”: nie można wymusić gładkości połączeń na obu końcach jednocześnie.

Minimalna liczba parametrów kontrolnych — 8:

po 2 na współrzędne punktów końcowych i po 2 na składowe wektorów kierunkowych

(9)

Grafika wektorowa — krzywe

Łuki elementarne 3 stopnia:

(x (t) = At3+ Bt2+ Ct + D ,

y (t) = Et3+ Ft2+ Gt + H , 0 ¬ t ¬ 1 (bardziej systematyczna konstrukcja — krzywe B´eziera)

Krzywe — sekwencje łuków elementarnych połączonych (lub nie) węzłami “gładkimi” lub “ostrymi”

(10)

Grafika wektorowa — krzywe

Łuki elementarne 3 stopnia:

(x (t) = At3+ Bt2+ Ct + D ,

y (t) = Et3+ Ft2+ Gt + H , 0 ¬ t ¬ 1 (bardziej systematyczna konstrukcja — krzywe B´eziera) Krzywe — sekwencje łuków elementarnych połączonych (lub nie) węzłami “gładkimi” lub “ostrymi”

(11)

Grafika wektorowa — krzywe B´ eziera

P

0

P

1

P

2

P

3 a

b

c

B(t) = (1−t)3P0+3t(1−t)2P1+3t2(1−t)P2+t3P3, 0 ¬ t ¬ 1 B0(t) = 3(1 − t)2(P1P0) + 6t(1 − t)(P2P1) + 3t2(P3P2) B0(0) = 3~a = 3(P1P0), B0(1) = 3~c = 3(P3P2)

Wielomiany bazowe Bernsteina: bkn(t) = nktk(1 − t)n−k

(12)

Grafika wektorowa — krzywe B´ eziera

P

0

P

1

P

2

P

3 a

b

c

B(t) = (1−t)3P0+3t(1−t)2P1+3t2(1−t)P2+t3P3, 0 ¬ t ¬ 1

B0(t) = 3(1 − t)2(P1P0) + 6t(1 − t)(P2P1) + 3t2(P3P2) B0(0) = 3~a = 3(P1P0), B0(1) = 3~c = 3(P3P2)

Wielomiany bazowe Bernsteina: bkn(t) = nktk(1 − t)n−k

(13)

Grafika wektorowa — krzywe B´ eziera

P

0

P

1

P

2

P

3 a

b

c

B(t) = (1−t)3P0+3t(1−t)2P1+3t2(1−t)P2+t3P3, 0 ¬ t ¬ 1 B0(t) = 3(1 − t)2(P1P0) + 6t(1 − t)(P2P1) + 3t2(P3P2)

B0(0) = 3~a = 3(P1P0), B0(1) = 3~c = 3(P3P2) Wielomiany bazowe Bernsteina: bkn(t) = nktk(1 − t)n−k

(14)

Grafika wektorowa — krzywe B´ eziera

P

0

P

1

P

2

P

3 a

b

c

B(t) = (1−t)3P0+3t(1−t)2P1+3t2(1−t)P2+t3P3, 0 ¬ t ¬ 1 B0(t) = 3(1 − t)2(P1P0) + 6t(1 − t)(P2P1) + 3t2(P3P2) B0(0) = 3~a = 3(P1P0), B0(1) = 3~c = 3(P3P2)

Wielomiany bazowe Bernsteina: bkn(t) = nktk(1 − t)n−k

(15)

Grafika wektorowa — relacje między obiektami

Obiekty złożone, hierarchizacja

Kopie i klony obiektów

(16)

Grafika wektorowa — relacje między obiektami

Obiekty złożone, hierarchizacja

Kopie i klony obiektów

(17)

Obiekty wektorowe

Kontur i wypełnienie (płaskie, gradientowe, tekstura)

Konwersja obiektów na krzywe (nieograniczona edycja)

ABC

(18)

Obiekty wektorowe

Kontur i wypełnienie (płaskie, gradientowe, tekstura)

Konwersja obiektów na krzywe (nieograniczona edycja)

ABC

(19)

Obiekty wektorowe

Kontur i wypełnienie (płaskie, gradientowe, tekstura)

Konwersja obiektów na krzywe (nieograniczona edycja)

ABC

(20)

Pozycjonowanie obiektów

22.125, 34.05

Bezwzględne (układ współrzędnych) Siatka

Prowadnice

Względne (krawędzie obiektów, środek, odstępy itp.)

(21)

Pozycjonowanie obiektów

22.125, 34.05

Bezwzględne (układ współrzędnych)

Siatka Prowadnice

Względne (krawędzie obiektów, środek, odstępy itp.)

(22)

Pozycjonowanie obiektów

22.125, 34.05

Bezwzględne (układ współrzędnych) Siatka

Prowadnice

Względne (krawędzie obiektów, środek, odstępy itp.)

(23)

Pozycjonowanie obiektów

22.125, 34.05

Bezwzględne (układ współrzędnych) Siatka

Prowadnice

Względne (krawędzie obiektów, środek, odstępy itp.)

(24)

Pozycjonowanie obiektów

22.125, 34.05

Bezwzględne (układ współrzędnych) Siatka

Prowadnice

Względne (krawędzie obiektów, środek, odstępy itp.)

(25)

Konwersja na postać wektorową — trasowanie

Regulacja dokładności procesu trasowania (liczba węzłów) Regulacja stopnia wygładzenia krzywych

Kontrola liczby kolorów

(26)

Konwersja na postać wektorową — trasowanie

Regulacja dokładności procesu trasowania (liczba węzłów)

Regulacja stopnia wygładzenia krzywych Kontrola liczby kolorów

(27)

Konwersja na postać wektorową — trasowanie

Regulacja dokładności procesu trasowania (liczba węzłów) Regulacja stopnia wygładzenia krzywych

Kontrola liczby kolorów

(28)

Konwersja na postać wektorową — trasowanie

Regulacja dokładności procesu trasowania (liczba węzłów) Regulacja stopnia wygładzenia krzywych

Kontrola liczby kolorów

(29)

Ograniczenia trasowania

Trasowanie obrazów “fotograficznych”

(30)

Ograniczenia trasowania

Trasowanie map i planów

Automatyczna wektoryzacja map jest zadaniem skomplikowanym

(31)

Grafika wektorowa — oprogramowanie i formaty

Płatne: Corel Draw, Adobe Illustrator, Xara Designer Bezpłatne: Inkscape, Open Office Draw

Format SVG (WWW Consortium, 1999): bazujący na XML, dobrze integruje się z dokumentami HTML, interpretowany przez przeglądarki internetowe (także mobilne)

PostScript (Adobe, 1982): język programowania (podobny do języka poleceń sterujących plotera), interpretowany przez tzw. maszyny postscriptowe (p. drukarki PS) o architekturze wykorzystującej pamięć stosową i odwrotną notację polską Portable Document Format (Adobe, 1993):

“półskompilowana” postać PostScriptu, wyposażona w mechanizmy hipertekstowe

Formaty “natywne”: CDR, AI, XAR

(32)

Grafika wektorowa — oprogramowanie i formaty

Płatne: Corel Draw, Adobe Illustrator, Xara Designer

Bezpłatne: Inkscape, Open Office Draw

Format SVG (WWW Consortium, 1999): bazujący na XML, dobrze integruje się z dokumentami HTML, interpretowany przez przeglądarki internetowe (także mobilne)

PostScript (Adobe, 1982): język programowania (podobny do języka poleceń sterujących plotera), interpretowany przez tzw. maszyny postscriptowe (p. drukarki PS) o architekturze wykorzystującej pamięć stosową i odwrotną notację polską Portable Document Format (Adobe, 1993):

“półskompilowana” postać PostScriptu, wyposażona w mechanizmy hipertekstowe

Formaty “natywne”: CDR, AI, XAR

(33)

Grafika wektorowa — oprogramowanie i formaty

Płatne: Corel Draw, Adobe Illustrator, Xara Designer Bezpłatne: Inkscape, Open Office Draw

Format SVG (WWW Consortium, 1999): bazujący na XML, dobrze integruje się z dokumentami HTML, interpretowany przez przeglądarki internetowe (także mobilne)

PostScript (Adobe, 1982): język programowania (podobny do języka poleceń sterujących plotera), interpretowany przez tzw. maszyny postscriptowe (p. drukarki PS) o architekturze wykorzystującej pamięć stosową i odwrotną notację polską Portable Document Format (Adobe, 1993):

“półskompilowana” postać PostScriptu, wyposażona w mechanizmy hipertekstowe

Formaty “natywne”: CDR, AI, XAR

(34)

Grafika wektorowa — oprogramowanie i formaty

Płatne: Corel Draw, Adobe Illustrator, Xara Designer Bezpłatne: Inkscape, Open Office Draw

Format SVG (WWW Consortium, 1999): bazujący na XML, dobrze integruje się z dokumentami HTML, interpretowany przez przeglądarki internetowe (także mobilne)

PostScript (Adobe, 1982): język programowania (podobny do języka poleceń sterujących plotera), interpretowany przez tzw. maszyny postscriptowe (p. drukarki PS) o architekturze wykorzystującej pamięć stosową i odwrotną notację polską Portable Document Format (Adobe, 1993):

“półskompilowana” postać PostScriptu, wyposażona w mechanizmy hipertekstowe

Formaty “natywne”: CDR, AI, XAR

(35)

Grafika wektorowa — oprogramowanie i formaty

Płatne: Corel Draw, Adobe Illustrator, Xara Designer Bezpłatne: Inkscape, Open Office Draw

Format SVG (WWW Consortium, 1999): bazujący na XML, dobrze integruje się z dokumentami HTML, interpretowany przez przeglądarki internetowe (także mobilne)

PostScript (Adobe, 1982): język programowania (podobny do języka poleceń sterujących plotera), interpretowany przez tzw.

maszyny postscriptowe (p. drukarki PS) o architekturze wykorzystującej pamięć stosową i odwrotną notację polską

Portable Document Format (Adobe, 1993):

“półskompilowana” postać PostScriptu, wyposażona w mechanizmy hipertekstowe

Formaty “natywne”: CDR, AI, XAR

(36)

Grafika wektorowa — oprogramowanie i formaty

Płatne: Corel Draw, Adobe Illustrator, Xara Designer Bezpłatne: Inkscape, Open Office Draw

Format SVG (WWW Consortium, 1999): bazujący na XML, dobrze integruje się z dokumentami HTML, interpretowany przez przeglądarki internetowe (także mobilne)

PostScript (Adobe, 1982): język programowania (podobny do języka poleceń sterujących plotera), interpretowany przez tzw.

maszyny postscriptowe (p. drukarki PS) o architekturze wykorzystującej pamięć stosową i odwrotną notację polską Portable Document Format (Adobe, 1993):

“półskompilowana” postać PostScriptu, wyposażona w mechanizmy hipertekstowe

Formaty “natywne”: CDR, AI, XAR

(37)

Grafika wektorowa — oprogramowanie i formaty

Płatne: Corel Draw, Adobe Illustrator, Xara Designer Bezpłatne: Inkscape, Open Office Draw

Format SVG (WWW Consortium, 1999): bazujący na XML, dobrze integruje się z dokumentami HTML, interpretowany przez przeglądarki internetowe (także mobilne)

PostScript (Adobe, 1982): język programowania (podobny do języka poleceń sterujących plotera), interpretowany przez tzw.

maszyny postscriptowe (p. drukarki PS) o architekturze wykorzystującej pamięć stosową i odwrotną notację polską Portable Document Format (Adobe, 1993):

“półskompilowana” postać PostScriptu, wyposażona w

(38)

Formaty plików

Format SVG <?xml version="1.0" encoding="iso-8859-1"?>

<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"

"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg version="1.1" id="Capa_1" x="0px" y="0px"

width="441.344px" height="441.344px" viewBox="0 0 441.344 441.344" style="enable-background:new 0 0 441.344 441.344;" xml:space="preserve">

<g>

<path d="M314.016,17.679c-36.879,0-70.09,16.419- 93.344,42.648c-23.252-26.229-56.465-42.648-93.344- 42.648C57.008,17.679,0,77.354,0,150.969c0,19.779, 3.338,38.813,9.184,56.989c0,0,5.301,16.4,9.997, 25.428,17.679z"/>

</g>

</svg>

Format PS %!PS-Adobe-3.0 /cm {29.39 mul} def newpath 8 cm 6 cm 3 cm 0 180 arc closepath gsave 0.65 setgray fill grestore 0.1 cm setlinewidth stroke showpage

%%EOF

(39)

PS vs PDF

PS interpreter lista

obiektów

PDF

rendering rasteryzacja

Acrobat Reader

Kod postscriptowy zwykle jest generowany maszynowo (przez aplikacje), można jednak edytować go ręcznie

PDF jest zasadniczo nieedytowalny (możliwe manipulowanie na poziomie stron dokumentów)

(40)

PS vs PDF

PS interpreter lista

obiektów

PDF

rendering rasteryzacja

Acrobat Reader

Kod postscriptowy zwykle jest generowany maszynowo (przez aplikacje), można jednak edytować go ręcznie

PDF jest zasadniczo nieedytowalny (możliwe manipulowanie na poziomie stron dokumentów)

(41)

PS vs PDF

PS interpreter lista

obiektów

PDF

rendering rasteryzacja

Acrobat Reader

Kod postscriptowy zwykle jest generowany maszynowo (przez aplikacje), można jednak edytować go ręcznie

Cytaty

Powiązane dokumenty

patrzymy w prawo: jeśli jest tam nawias otwierający okrągły '(', to będzie to funkcja (odczytujemy liczbę i typ parametrów); jeśli będzie tam nawias otwierający kwadratowy '[',

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

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

1 Jeżeli wszystkie wartości wykorzystywane w obliczeniach są tego samego typu, wynik też jest tego typu (z wyjątkiem operacji porównania). 2 Wartości różnych typów są

– osoba, która poprawia zaliczenie (końcowe lub cząstkowe), może uzyskać co najwyżej ocenę bardzo dobrą.

rok akademicki 2019/20 semestr zimowy..

• rozwiązania zadań z list należy przesłać do prowadzącego najpóźniej dzień