Documente Academic
Documente Profesional
Documente Cultură
Decupare 3D
Victor Moraru
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
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
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
15