Počítačová grafika (Computer Graphics)
Úvod do tématu Martina Mudrová únor 2007
Úvod do PG MOTTO: „...70% informací přijímáme zrakem...“
Co zahrnuje pojem počítačová grafika?
grafos (řec.)= písmeno
= zpracování grafických dat s využitím počítačové techniky • grafická díla vytvořená nebo upravená na počítači (umělecká díla, informační materiály, hry, filmové efekty,...) • součást softwarových aplikací umožňující komunikaci s uživatelem prostřednictvím grafického rozhraní (Windows, OpenGL, ...) • software podporující tvorbu nebo úpravu grafických dat (Paint, Corel, Adobe AutoCAD, 3DS, ...) • hardwarové vybavení podporující grafickou prezentaci dat nebo vstup obrazových dat (gr. karty, monitory, tiskárny, sv. pera, skenery, ...) • matematické a algoritmické nástroje umožňující popis a zpracování graf. dat • … 2
Aplikační oblasti PG a související témata • Manažerská a prezentační grafika – výsledky výpočtů, vizualizace dat, ... • Web grafika • GUI (Graphical User Interface) - (Windows, zákaznický software, ...) • Digitální fotografie a její zpracování • CAD (Computer Aided Design) systémy • Vizuální simulace reálných situací a VR (Virual Reality) - trenažéry, hry, ... • Animace, filmové efekty, zpracování videa ve 2D, 3D, 4D • DTP (DeskTop Publishing) – produkce novin, časopisů, letáků,... • Zpracování obrazů - velké množství aplikací (mikroskopie, biologie, medicína, materiálové inženýrství, potravinářství,...) • ... 3
Historie PG Jaký byl vývoj počítačové grafiky? - souvisí s technickým rozvojem VT - pojem Počítačová grafika poprvé použit v 50.letech v časopise Computer Graphics - 1963 systém Sketchpad (Shuterland) – první interakční systém - 60.léta – počítačem podporované návrhy letadel a automobilů (General Motors, Lockheed) => vznik CAD systémů - 70. léta – hardwarová nezávislost: graf. standardy CORE (USA) a GKS (Evropa) - růst možností graf. displejů, procesorů, nosičů dat => rozvoj anim. sekvencí atd. - v současnosti: – běžné displeje s rozlišením 2048x1536 - graf. procesory s milióny vektorových operací za sekundu (zobrazení vektoru, ořezání,...) - nosiče typu DVD (až 17 GB) - umožňují uložení filmů (anim. sekvence 24-30 sn/s, 1 film = 150 000snímků = cca 4GB 4
Dělení počítačové grafiky • Podle typu popisu obrazu: generativní PG – vstup-popis, výstup-obraz analýza obrazu – vstup obraz, výstup-jeho popis zpracování obrazu – vstup-obraz, výstup-obraz • Podle spolupráce s člověkem: pasivní PG – generování obrazu závisí na počátečních, dále neměnných podmínkách, např. trvalý záznam na papír interakční PG (převažuje) - využívá a dále upravuje grafický vstup • Podle způsobu zobrazení: vektorová – vektorový popis graf. informace rastrová – popis jednotlivých bodů tvořících obraz
! 5
Vektorová a rastrová PG Vektorová grafika
Rastrová grafika
Základní prvek
úsečka, křivka,....
bod (pixel)
Vlastnosti zákl. p., které se ukládají
1. matematický popis (např. souřadnice poč. a konc. bodu) 2. vlastnosti (barva čáry, styl,...)
atributy pixelu – barva, průhlednost
Výhody
jednoduché zmenšování, zvětšování apod.
možnost zpracovat jednotlivý pixel
Nevýhody
- velikost souboru záleží na počtu objektů - často nutnost rasterizace
problémy při zvětšování, zmenšování apod.
převody: vektor => rastr ... jednoduché postupy a algoritmy rastr => vektor ... složitější procesy, často spolupráce s člověkem 6
Zoom rastrových obrazů
7
Zoom vektorově daných obrazů - vykreslení entit nezávisle na rozlišení obrazovky zobrazovacími algoritmy
8
Pixel, rozlišení rastrového obrazu pixel = picture element – nejmenší bod 2D obrazu, jemuž je možno přiřadit barvu (voxel= volume element pro 3D objemové modelování, 3D obrazy) rozlišení: jednotky dpi (dots per inch) = počet pixelů na palec - může být v různém směru různé 1 inch = 25,4mm (1 bod (pt) = 1/72 inch = 0.3528mm 1 typografický bod (b) = 0.3759mm)
Typické hodnoty dpi: 1. Hranice pro lidské oko: ~200 2. Monitory: 72 (a více) 3. Tisk: obvykle 300, vysoká kvalita 600 - 1200 4. Skenery: 1200, >2400
9
Způsob zápisu rastrových dat (rychle) Čím vyšší dpi, tím tedy více bodů … … tím více informace … tím větší velikost souboru !!! Př: Bitová hloubka 1 bit/pixel 4 dpi
2 dpi
0
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
kód barev: 0 … světlá 1 … tmavá
zápis obrazu do souboru:
0, 1, 1, 1
0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 10
Způsob zápisu vektorových dat (rychle) Čím více objektů, tím větší soubor … - zapisují se informace o jednotlivých objektech: - obecně: Název objektu a jeho vlastnosti (souřadnice char. bodů, barva čáry, tloušťka čáry, průhlednost, vyplnění, pořadí,...) 1 A - např.: y A
circle (xs=0.4, ys=0.3, r=0.25, Color=Green, Width=3) line (xA=0.1, yA=0.9, xB=0.85, yB=0.3, yS yB Width=6, Style=Dotted) ... 0 0
r
S
xA xS
B xB
1
11
Odhad velikosti rastr. souboru (bez komprese) Tak si to spočítáme … Obrázek má rozměry 2,24 x 2,86 cm. tj (/ 2,54) 0,88 x 1,13 palce Obrázek byl pořízen skenováním s rozlišením 300 dpi: tj. jeho rozměry v bodech jsou: 0,88 . 300 x 1,13 . 300 = 89 496 bodů (pixelů)
Barevná hloubka při pořízení byla “true color” (tj. 32 bitů = 4 byte), tj. velikost souboru je 4 . 89 496 = 357 984 byte (357 KB)
… ale můj soubor má jen 59 KB? … je důsledkem kompresních algoritmů… 12
Rasterizace … ale vektorové obrazy jsou přece často vykreslovány na rastrovém zařízení
(např. na displeji)?
Obecný problém: Zobrazení hladké křivky na zařízení s daným rozlišením Požadavky: • algoritmus musí být dostatečně rychlý • tloušťka čáry nesmí záviset na sklonu čáry • čára má být hladká (z hlediska vizuálního vjemu) • kresba musí -nemusí začínat a končit v daných bodech Řešení: lineární interpolátory: - DDA algoritmus (Digital Differential Analyzer) - Bresenhamův algoritmus 13
Příklady rasterizace křivek
Výsledky aplikace Bresenhamova algoritmu pro různé objekty úsečka
kružnice
elipsa
40
20
35
15
30
10
25
5
5
20
0
0
15
-5
10
-1 0
5
-1 5
15 10
-5
0 0
10
20
30
40
-2 0 -2 0
-10 -1 0
0
10
20
-15 -15
-10
-5
0
5
10
15
14
Rychlý přehled grafických formátů Vektorové a meta formáty: - WMF, DWG, EPS, CDR, PS, AI… (textový) soubor (popř. komprimovaný) obsahující popis jednotlivých objektů obrázku a jejich vlastností - velikost závisí na počtu objektů v obraze Rastrové formáty: BMP, JPG, GIF, PNG, TIFF, RAW… soubor obsahující informace o vlastnostech každého pixelu velikost souboru závisí na - rozlišení obrázku - bitové hloubce (barevném rozlišení) bitová hloubka: kolik bitů je přiděleno pro uchování informace o vlastnostech 1 pixelu (min. 1bit/pixel, obvykle 32-48 bit/pixel, z toho pro barvu 24bitů ) 15
Nejznámější softwarové nástroje pro PG Spol. Adobe: A. Photoshop – rastrová grafika A. Illustrator – vektorová g. … Spol. Corel: C. PhtoPaint – rastrová grafika C. DRAW – vektorová g. … Spol. AutoDesk: AutoCAD – vektorový nástroj technicky orientovaný 3DS – 3D modelování Maya – 3D modelování … Spol. Zoner (ČR): Z. Photo Studio – rastr. Z. Callisto - vektor … Bezplatné rastr. editory: Gimp, IrfanView, XnView, Paint, Pixia,… … 16
Dodatek: Zkratky CA systémů • CAD - Computer Aided Design (Drafting) – počítačem podporované návrhy (kreslení) • CAM - Computer Aided Manufacturing - řízení výroby podporované počítačem • CAA - Computer Aided Assembly - počítačem podporovaná montáž – montážní schémata, animace montáže, ... • CAGD - Computer Aided Geometric Design – návrh geometrie,modelování • CAE - Computer Aided Engineering (ORCAD) - Computer Aided Education • CAL - Computer Aided Learning • CAP - Computer Aided Publishing • CAPP - Computer Aided Process Planning • CAQ - Computer Aided Quality Check • CAT - Computer Aided Testing Computer Aided Teaching
17