Sunteți pe pagina 1din 4

Decuparea obiectelor

Obiectele care sunt in afara sau partial in


Grafica pe calculator interiorul volumului de vedere vor trebui
decupate

Decupare 3D

Victor Moraru

Decuparea obiectelor Normalizare


Obiectele care sunt in afara sau partial in Decuparea se va face dupa normalizare
interiorul volumului de vedere vor trebui
decupate

3 4
Ce vom decupa? Impirea spaiului
Vom aplica decuparea obiectelor cu varfuri Aplicam algoritmul Cohen-Sutherland
definite in coordonate omogene: adaptat pentru 3D
Vom imparti spatiul in regiuni

[ ] []
xh x Pentru cazul 3D vom avea un cod pe 6 biti
yh si vom avea in total 27 coduri diferite
=M y
zh z
h 1
Semnificatia bitilor:
bitul 6 bitul 5 bitul 4 bitul 3 bitul 2 bitul 1
Departe Aproape Sus Jos Dreapta Stanga

5 6

Conditii pentru decupare Coduri regiuni

xh yh zh
1 1 1 1 1 0
h h h

De unde:

hx h h h y h h hz h0 if h>0
hx h h h y hh 0z h h if h<0
7 8
Decuparea liniilor Decuparea liniilor: exemplu
Acceptam toate liniile cu punctele avand
codurile [000000]
Putew rejecta toate liniile la care punctele
care le definesc au cel putin un bit comun:
ele nu interesecteaza volumul de vedere
De exemplu: linia intre P3[010101] si
P4[100110] poate fi rejectata

9 10

Ecuatia liniei in 3D Ecuatia liniei in 3D

Dreptele descrise in forma parametrica Din aceasta ecuatie parametrica a liniei


Pentru o linie care trece prin punctele putem genera ecuatiile petru cooordonate
P1(x1h, y1h, z1h, h1) si P2(x2h, y2h, z2h, h2) omogene:
ecuatia parametrica pentru orice punct de x h =x 1h +( x 2h x 1 h ) u
pe linie : y h =y 1h +( y 2 h y 1 h )u
z h =z 1 h +( z 2 h z 1h ) u
P=P 1 +( P 2 P 1 )u 0u1
h=h 1+( h 2h 1 )u

11 12
Exemplu de decupare a liniei in 3D Exemplu de decupare a liniei in 3D
Fie o linie intre P1[000010] si P2[001001] Stiind ca fata din dreapta e la x = 1 putem
Tinand cont de codurile liniilor putem deduce scrie:
ca linia interesecteaza fata din dreapta a xh x 1h +( x 2 h x 1h ) u
volumului vizual x p= = =1
h h 1+( h 2h 1 )u
care are solutia pentru u dupa cum urmeaza:
x 1h h 1
u=
( x 1hh1 )( x 2 h h 2)
folosind aceasta valoare a lui u putem gasi in
13 mod similar yp si zp 14

Decuparea poligoanelor in 3D

In realitate in cazul general la decuparea 3D


se va considera decuparea poligoanelor
care poate fi facuta utiizand aceasi metoda

15

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