Sunteți pe pagina 1din 30

Elemente de Grafic pe Calculator

Introducere
Sorin Babii, Ovidiu Prvu Departamentul Calculatoare, ASPC, P9

Cuprins

Reguli Scurt istorie a Graficii pe Calculator Domeniul Graficii pe Calculator: vedere de ansamblu Structura cursului Lucrri de laborator Introducere i detalii tema 1 laborator

Elemente de Grafic pe Calculator: Obiectivele Cursului

Introduce elementele fundamentale ale graficii 2D i 3D


Reprezentri (linii/curbe/suprafee) Trasare i vizualizare Implementare


frame buffer simplu n format XPM Linii, cercuri, curbe Bzier i NURBS Algoritmi de trasare

Anul V: Sisteme pentru Prelucrri Grafice


Grafic 3D Ray tracing Iluminare, vizualizare, fotorealism Reele poligonale i Bezier Modele ierarhice

Anul V: Sisteme pentru Prelucrri Grafice

Elemente de Grafic pe Calculator

Domenii tratate

Transformri geometrice, grafic raster 2D, vizualizare 2D, curbe 2D Vizualizare 3D, curbe i suprafee 3D Curbe i suprafee Spline, B-Spline i NURBS Trasare 3D, ndeprtarea 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 WeilerAtherton Algoritmul De Casteljau B-Spline, NURBS, algoritmul De Boor Algoritmul Z-buffer; ndeprtarea faetelor ascunse

Reguli, Sugestii

Pagina web:
http://aspc.cs.utt.ro/~sorin/Graphics/EGC/

Utilizai notiele de curs Examen parial 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 1975 frame buffer E&S anii 1980 frame buffer ieftine calculatoare personale cu display bit-mapped

raster

anii 1990 cristale lichide laptop anii 2000 proiectoare cu micro-oglindcinema digital Alte evoluii

stereo, head-mounted displays alte aspecte: tactil, sunet etc.

Hardware Grafic: Istoric

Hardware de intrare

3D

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 trackers, scanner-e 3D mai multe camere detectoare de perimetru data glove voce

altele

Grafica 2D

Raster pixeli

X11 bitmap, XBM X11 pixmap, XPM GIF TIFF PNG JPG

Vectorial instruciuni

Postscript CGM Fig DWG

Cu pierderi, apar trepte la transformare pentru fotografii

Fr 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 generm pixeli pe un display raster pornind de la bii i contururi?

Frame Buffer

Memoria video pentru pixeli, de unde se mprospteaz display-ul video De obicei este implementat de placa video

frame buffer-e inteligente


acceleratori pentru interaciune 2D i 3D adncime de culoare (1, 8, 16, 24, 32 bii), Z-buffering

Double buffering: utilizeaz o memorie secundar pentru construirea imaginii i comutare

Vizualizare 3D

anii 1960: problema vizibilitii

anii 1970 grafica raster


Roberts (1963), Appel (1967) algoritmi pentru linii ascunse Warnock (1969), Watkins (1970) algoritmi pentru suprafee ascunse Sutherland (1974) vizibilitate = sortare

Gouraud (1971) iluminarea difuz Phong (1974) iluminarea specular Blinn (1974) suprafee curbe, texturi Catmull (1974): Z buffer pentru suprafee ascunse

Vizualizare 3D

n cutarea realismului

1980 modele de iluminare global

Whitted (1980) ray tracing Goral, Torrance (1984), Cohen (1985) radiozitate Kajiya (1986) ecuaia de vizualizare

Vizualizare 3D

sfritul 1980 fotorealism

Cook (1984) arbori de umbrire (shade trees) Perlin (1985) limbaje de umbrire Hanrahan i Lawson (1990) - RenderMan

Dezvoltri actuale

nceput 1990 reprezentri nonfotorealiste


Drebin (1988) volume rendering Haeberli (1990) programe de pictur impresionist Meier (1996) reprezentri picturale

Domenii de utilizare

Distractiv CAD/CAM Vizualizri tiinifice/medicale Antrenament i educaie Realiti sintetice

VR, comer etc

Art i design

Domenii de utilizare

Distractiv CAD/CAM Vizualizri tiinifice/medicale Antrenament i educaie Realiti sintetice

VR, comer etc

Art i design

Domenii de utilizare

Distractiv CAD/CAM Vizualizri tiinifice/medicale Antrenament i educaie Realiti sintetice

VR, comer etc

Art i design

Domenii de utilizare

Distractiv CAD/CAM Vizualizri tiinifice/medicale Antrenament i educaie Realiti sintetice

VR, comer etc

Art i design

Domenii de utilizare

Distractiv CAD/CAM Vizualizri tiinifice/medicale Antrenament i educaie Realiti sintetice

VR, comer etc

Art i design

Domenii de utilizare

Distractiv CAD/CAM Vizualizri tiinifice/medicale Antrenament i educaie Realiti sintetice

VR, comer etc

Art i design

Lucrri de Laborator

Fr biblioteci grafice: OpenGL, DirectX, GLUT, Mesa Ieire bitmap 2D


XPM: X11 PixMap trebuie s v scriei propriul cod pentru generarea de XPM

Executabilul i sursele se trimit prin e-mail