Sunteți pe pagina 1din 22

GRAFICA 3D

Valentin Stoica

Grafica 3D UPB 2020-20021 1


Sisteme de referinta tridimensionale

 coordonate cilindrice
P(ρ, φ, z)

 coordonate sferice
P(r, θ, φ)

 coordonate carteziene
P(x, y, z)
Grafica 3D UPB 2020-20021 2
Sisteme de coordonate carteziene
 Sistem de referinţă universal
 este sistemul de coordonate cartezian în care sunt definite
toate obiectele scenei virtuale
 Se defineşte prin originea O şi trei axe
perpendiculare, Ox, Oy şi Oz, orientate după regula
mâinii drepte sau după regula mâinii stângi
y y

x O x

z (a) (b)

(a) Sistem de coordonate orientat după regula (b) Sistem de coordonate orientat după regula
mâinii drepte (sistem de coordonate drept) mâinii stângi

Grafica 3D UPB 2020-20021 3


Sisteme de coordonate carteziene
 Un punct P în spaţiul tridimensional se reprezintă în
sistemul de referinţă cartezian printr-un tripet de valori
scalare x, y, z, ce reprezintă componentele vectorului de
poziţie OP pe cele trei axe de coordonate
 În notaţia matriceală un punct în spaţiul tridimensional se
poate reprezenta printr-o matrice linie sau coloană:
 x
P  x y z sau P   y 
 z 
 Convenţia de reprezentare matematică folosita de
biblioteca grafică OpenGL este cea de matrice coloană
pentru un punct în spaţiul tridimensional

Grafica 3D UPB 2020-20021 4


Modele de culoare
 Modelul RGB
 culoarea este reprezentată printr-un triplet de culori
primare, roşu (red) verde (green), albastru (blue).
 spaţiul de reprezentare a tuturor

culorilor în modelul RGB este un Verde

cub într-un sistem de coordonate Cian


Alb
Galben

cu axele notate Roşu (Red), Verde Negru


(Green), Albastru (Blue) Albastru
Rosu
 C(r,g,b) = rR + gG + bB
Magenta
 Modelul RGBA
 cea de-a patra componentă () indică transparenţa
suprafeţei:
  = 1suprafaţă opacă
  = 0 suprafaţă complet transparentă

Grafica 3D UPB 2020-20021 5


Modelul RGB

Grafica 3D UPB 2020-20021 6


Modele de culoare
 Modelul HSV
 transformare neliniară a spaţiului RGB, prin care culorile
sunt specificate prin componentele: nuanţă (hue), saturaţie
(saturation) şi valoare (value).

 Spaţiul culorilor în modelul HSV V


Verde Galben
este o piramidă hexagonală într-un Cian
Alb
Roşu

sistem de coordonate polare HVS Albastru Magenta

H
Negru S

Grafica 3D UPB 2020-20021 7


Modelarea obiectelor
 Proprietăţile obiectelor tridimensionale ce se
modelează în aplicaţiile grafice se pot împărţi în
două categorii:
 forma
 solide
 deformabile
 aspect
 Modelarea solidelor
 o tehnică de proiectare, vizualizare şi analiză a modului în
care obiectele reale se reprezintă în calculator
 modelare prin:
 suprafaţă de frontieră (modelarea poligonală, modelarea prin
reţele de petice parametrice)
 volum (modelarea prin compunerea obiectelor, modelarea
prin divizare spaţială)

Grafica 3D UPB 2020-20021 8


Metodele de modelare si reprezentare a
obiectelor
 Modelarea poligonală: obiectele sunt
aproximate printr-o reţea de feţe care sunt
poligoane planare.

Grafica 3D UPB 2020-20021 9


Metodele de modelare si reprezentare a
obiectelor
 Modelarea prin reţele de petice parametrice
bicubice (bicubic parametric patches): obiectele
sunt aproximate prin reţele de elemente spaţiale
numite petice (patches). Acestea sunt reprezentate
prin polinoame cu două variabile parametrice, în
mod obişnuit cubice.
Puncte
de control

Grafica 3D UPB 2020-20021 10


Metodele de modelare si reprezentare a
obiectelor
 Modelarea prin compunerea obiectelor
(Constructive Solid Geometry - CSG):
obiectele sunt reprezentate prin colecţii de
obiecte elementare (cilindri, sfere, poliedre,
etc.).
Sfera

Cub

Grafica 3D UPB 2020-20021 11


Metodele de modelare si reprezentare a
obiectelor
 Modelarea prin divizare spaţială: obiectele
sunt încorporate în spaţiu, prin atribuirea unei
etichete fiecărui element spaţial, în funcţie de
obiectul care ocupă elementul respectiv.

Grafica 3D UPB 2020-20021 12


Modelarea poligonala a obiectelor
 Forma “clasică” de modelare a obiectelor folosită în
grafica pe calculator:
 uşurinţa în modelare
 posibilitatea de redare rapidă a imaginii obiectelor
 Reprezentarea poligonală:
 un obiect tridimensional este compus dintr-o colecţie de
feţe, fiecare faţă fiind o suprafaţă plană reprezentată printr-
un poligon

Grafica 3D UPB 2020-20021 13


Reprezentarea poligoanelor
 Poligon:
 o regiune din plan mărginită de o colecţie finită de
segmente de dreaptă care formează un circuit închis
simplu.
 Fie n puncte în plan (v0, v1, …,vn–1) şi n segmente
de dreaptă (e0 = v0v1, e1 = v1v2, …. en–1 = vn–1v0) care
conectează perechi de puncte succesive în ordine
ciclică, deci inclusiv conexiunea între ultimul punct şi
primul punct din listă. Aceste segmente mărginesc
un poligon, dacă şi numai dacă:
 intersecţia fiecărei perechi de segmente adiacente în
ordinea ciclică este un singur punct, conţinut de ambele
segemente: ei  ei+1 = vi+1, pentru oricare i = 0,…, n–1.
 segmente neadiacente nu se intersectează: ei  ej = ,
pentru orice j  i+1.

Grafica 3D UPB 2020-20021 14


Reprezentarea poligoanelor
 vi - vârfurile poligonului (vertices)
 ei - muchii (sau laturi) ale poligonului
 Un poligon:
 conţine n vârfuri şi n muchii
 muchiile sunt orientate, astfel încât formează un ciclu
(circuit închis) = orientare consistentă (dacă se parcurg
muchiile în sensul lor de definiţie, interiorul poligonului este
văzut întotdeauna în partea stângă/dreaptă).
v1 e0 v0
e1

v2 e4

e2 v4
v3
e3

Grafica 3D UPB 2020-20021 15


Reprezentarea poliedrelor
 Modelarea şi reprezentarea prin suprafaţa de frontieră =
obiectele sunt aproximate prin poliedre şi modelul lor este
reprezentat prin suprafaţa poliedrului, compusă dintr-o colecţie
de poligoane
 Suprafaţa de frontieră a unui poliedru conţine trei tipuri de
elemente geometrice: vârfurile (punctele), care sunt zero-
dimensionale, muchiile (segmentele), care sunt unidimensionale
şi feţele (poligoanele), care sunt bidimensionale
Fete poligonale

Muchii

Vârfuri

Grafica 3D UPB 2020-20021 16


Implementarea modelului poligonal
 Printr-o listă de poligoane (vector, listă înlănţuită,
etc.).
 Întreaga informaţie referitoare la forma unui obiect
este compusă din liste de coordonate ale vârfurilor,
la care se mai adaugă şi alte informaţii geometrice
necesare în redare (de exemplu, normalele la
suprafeţe).
 Forma unui obiect modelat prin reţea de poligoane
poate fi reprezentată ca un vector de feţe, fiecare
faţă fiind un vector de vârfuri, fiecare vârf fiind un
vector de trei coordonate în virgulă flotantă

Grafica 3D UPB 2020-20021 17


Implementarea modelului poligonal
 Exemplu: cub
 double CubeFaces[6][4][3] = {
{{-1,-1,-1}, // fata 0
{ 1,-1,-1},
{ 1,-1, 1},
{-1,-1, 1}},
{{-1, 1, 1}, // fata 1
{ 1, 1, 1},
{ 1, 1,-1},
{-1, 1,-1}},
{{-1,-1, 1}, // fata 2
{ 1,-1, 1},
{ 1, 1, 1},
{-1, 1, 1}},
{{ 1,-1,-1}, // fata 3
{-1,-1,-1},
{-1, 1,-1},
{ 1, 1,-1}},
{{ 1,-1, 1}, // fata 4
{ 1,-1,-1},
{ 1, 1,-1},
{ 1, 1, 1}},
{{-1,-1, 1}, // fata 5
{-1, 1, 1},
{-1, 1,-1},
{-1,-1,-1}}
};
 implementare ineficientă deoarece
fiecare vârf este prelucrat de trei ori,
pentru fiecare faţă adiacentă acestuia

Grafica 3D UPB 2020-20021 18


Implementarea modelului poligonal
 Exemplu mai eficient: cub
 double CubeCoords[8][3]={
{-1,-1, 1},
{ 1,-1, 1},
{ 1,-1,-1},
{-1,-1,-1},
{-1, 1, 1},
{ 1, 1, 1},
{ 1, 1,-1},
{-1, 1,-1}
};
int CubeIndexFace[6][4]={
{3, 2, 1, 0},
{4, 5, 6, 7},
{0, 1, 5, 4},
{2, 3, 7, 6},
{1, 2, 6, 5},
{0, 4, 7, 3}
};

Grafica 3D UPB 2020-20021 19


Reprezentarea poliedrelor
 O reţea de poligoane
poate să reprezinte:
 suprafaţa de frontieră
închisă a unui solid

 suprafaţa deschisă,
necesară în anumite
situaţii de modelare, cum
este suprafaţa terenului
simulat într-o scenă
virtuală

Grafica 3D UPB 2020-20021 20


Reprezentarea poliedrelor
 Tipuri de reprezentare:

 reprezentare ca suprafaţă
(poligoane “pline”)

 reprezentare prin contur


“cadru de sârmă”
(wireframe)

Grafica 3D UPB 2020-20021 21


Reprezentarea poliedrelor
 Precizia de reprezentare a modelului
 diferenţa dintre suprafaţa obiectului şi feţele
poligonale prin care este aproximat
 numărul mare de poligoane = precizia de
reprezentare mai bună = cerinţe de calcul sporite

16x16 poligoane 32x32 poligoane 64x64 poligoane


Grafica 3D UPB 2020-20021 22

S-ar putea să vă placă și