grafica pe calculator
DESCRIPTION
Computer graficsTRANSCRIPT
Elemente de Grafică pe Calculator
Introducere
Sorin Babii, Ovidiu PârvuDepartamentul Calculatoare,
ASPC, P9
Cuprins
● Reguli● Scurtă istorie a Graficii pe Calculator● Domeniul Graficii pe Calculator: vedere de
ansamblu● Structura cursului● Lucrări de laborator● Introducere şi detalii tema 1 laborator
Elemente de Grafică pe Calculator: Obiectivele Cursului
● Introduce elementele fundamentale ale graficii 2D şi 3D– Reprezentări (linii/curbe/suprafeţe)
– Trasare şi vizualizare
– Implementare● frame buffer simplu în format XPM● Linii, cercuri, curbe Bézier şi NURBS● Algoritmi de trasare
Anul V: Sisteme pentru Prelucrări Grafice
● Grafică 3D● Ray tracing● Iluminare, vizualizare, fotorealism● Reţele poligonale şi Bezier● Modele ierarhice
Anul V: Sisteme pentru Prelucrări Grafice
Elemente de Grafică pe Calculator
● Domenii tratate– Transformări geometrice, grafică raster 2D, vizualizare
2D, curbe 2D
– Vizualizare 3D, curbe şi suprafeţe 3D
– Curbe şi suprafeţe Spline, B-Spline şi NURBS
– Trasare 3D, îndepărtarea liniilor ascunse, Z-buffer
– Modelarea Solidelor
Elemente de Grafică pe Calculator
● Algoritmul lui Bresenham pentru conversia de scanare
● Algoritmul de decupare Cohen-Sutherland● Procesarea poligoanelor cu metoda Weiler-
Atherton● Algoritmul De Casteljau● B-Spline, NURBS, algoritmul De Boor● Algoritmul Z-buffer; îndepărtarea faţetelor
ascunse
Reguli, Sugestii
● Pagina web: http://aspc.cs.utt.ro/~sorin/Graphics/EGC/
● Utilizaţi notiţele de curs● Examen parţial – laborator la zi● Examen final – oral, laborator la zi● Laborator – lucru individual
Grafica pe Calculator: Scurt Istoric
● 1963, Ivan Sutherland: Sketchpad
● Osciloscop modificat● Primul sistem CAD
Hardware Grafic: Istoric
● Display-uri– vectoriale
● 1974 – E&S Picture System
– raster● 1975 – frame buffer
E&S● anii 1980 – frame
buffer ieftine → calculatoare personale cu display bit-mapped
● anii 1990 – cristale lichide →laptop
● anii 2000 – proiectoare cu micro-oglindă→cinema digital
– Alte evoluţii
● stereo, head-mounted displays
● alte aspecte: tactil, sunet etc.
Hardware Grafic: Istoric
● Hardware de intrare– 2D
● creion luminos, tableta, mouse, joystick, trackball, touch panel
● anii 1970-80: senzor CCD pt. imagini analogice
● anii 1990-2000: senzor digital CMOS + procesare locală
– 3D● 3D trackers, scanner-e
3D● mai multe camere● detectoare de perimetru
– altele● data glove● voce
Grafica 2D
● Raster – pixeli– X11 bitmap, XBM
– X11 pixmap, XPM
– GIF
– TIFF
– PNG
– JPG
● Cu pierderi, apar trepte la transformare
● pentru fotografii
● Vectorial – instrucţiuni– Postscript
– CGM
– Fig
– DWG
● Fără pierderi, suportă scalare
● pentru desene artistice, diagrame
Grafica 2D
● Raster: ● Vectorial:
Grafică raster 2D: Adobe Photoshop
Grafică raster 2D
Grafică vectorială 2D: Adobe Illustrator
Grafică vectorială 2D
Display-uri Grafice
● Azi, aproape toate display-urile sunt RASTER
● Cum să generăm pixeli pe un display raster pornind de la biţi şi contururi?
Frame Buffer
● Memoria video pentru pixeli, de unde se împrospătează display-ul video
● De obicei este implementat de placa video– frame buffer-e inteligente
● acceleratori pentru interacţiune 2D şi 3D● adâncime de culoare (1, 8, 16, 24, 32 biţi), Z-buffering
● Double buffering: utilizează o memorie secundară pentru construirea imaginii şi comutare
Vizualizare 3D
● anii 1960: problema vizibilităţii– Roberts (1963), Appel
(1967) – algoritmi pentru linii ascunse
– Warnock (1969), Watkins (1970) – algoritmi pentru suprafeţe ascunse
– Sutherland (1974) – vizibilitate = sortare
● anii 1970 – grafica raster– Gouraud (1971) –
iluminarea difuză
– Phong (1974) – iluminarea speculară
– Blinn (1974) – suprafeţe curbe, texturi
– Catmull (1974): Z–buffer pentru suprafeţe ascunse
Vizualizare 3D
● În căutarea realismului– 1980 – modele de
iluminare globală● Whitted (1980) – ray
tracing● Goral, Torrance (1984),
Cohen (1985) – radiozitate
● Kajiya (1986) – ecuaţia de vizualizare
Vizualizare 3D
● sfârşitul 1980 – fotorealism– Cook (1984) – arbori
de umbrire (shade trees)
– Perlin (1985) – limbaje de umbrire
– Hanrahan şi Lawson (1990) - RenderMan
Dezvoltări actuale
● început 1990 – reprezentări non-fotorealiste– Drebin (1988) –
volume rendering
– Haeberli (1990) – programe de pictură impresionistă
– Meier (1996) – reprezentări picturale
Domenii de utilizare
● Distractiv● CAD/CAM● Vizualizări
ştiinţifice/medicale● Antrenament şi
educaţie● Realităţi sintetice
– VR, comerţ etc
● Artă şi design
Domenii de utilizare
● Distractiv● CAD/CAM● Vizualizări
ştiinţifice/medicale● Antrenament şi
educaţie● Realităţi sintetice
– VR, comerţ etc
● Artă şi design
Domenii de utilizare
● Distractiv● CAD/CAM● Vizualizări
ştiinţifice/medicale● Antrenament şi
educaţie● Realităţi sintetice
– VR, comerţ etc
● Artă şi design
Domenii de utilizare
● Distractiv● CAD/CAM● Vizualizări
ştiinţifice/medicale● Antrenament şi
educaţie● Realităţi sintetice
– VR, comerţ etc
● Artă şi design
Domenii de utilizare
● Distractiv● CAD/CAM● Vizualizări
ştiinţifice/medicale● Antrenament şi
educaţie● Realităţi sintetice
– VR, comerţ etc
● Artă şi design
Domenii de utilizare
● Distractiv● CAD/CAM● Vizualizări
ştiinţifice/medicale● Antrenament şi
educaţie● Realităţi sintetice
– VR, comerţ etc
● Artă şi design
Lucrări de Laborator
● Fără biblioteci grafice: OpenGL, DirectX, GLUT, Mesa
● Ieşire – bitmap 2D– XPM: X11 PixMap
– trebuie să vă scrieţi propriul cod pentru generarea de XPM
● Executabilul şi sursele se trimit prin e-mail