Sunteți pe pagina 1din 25

Triangularea Delaunay

Proiect realizat de Dan Ciurdariu Olah Levente

Cuprins
Introducere Triangularea unei multimi finite de puncte din plan

Trianglarea Delaunay

Detalii Algoritm Grafuri Delaunay Proprietati Relatia cu Diagrama Voronoi

Aplicatii ale triangularii Delaunay

Introducere
Boris Nikolaevich Delaunay (n. 15 Martie 1890- d. 17 Iulie 1980) a fost un matematician soviet si unul dintre primii alpinisti rusi. Boris Delaunay are contributii la algebra moderna si la geometria numerelor. A folosit rezultatele lui Yevgraf Fyodorov, Hermann Minkowski, Gyorgy Voronoy, si altii, in studiul sau asupra cristalografiei matematice( numita astazi Triangularea lui Delaunay)

Triangularea unei multimi finite din plan

Triangularea unei multimi de puncte este o problema foarte bine cunoscuta si utilizata in domenii de cercetare stiintifica dar si in industria de entertainment( scanare 3D, algoritmi de gasire a caii optime in jocuri, etc) Putem rezuma problema triangularii unei multimi de puncte P in plan prin gasirea unei organizari DT(P) astfel incat sa nu existe niciun punct P in cercurile circumscrise triunghiurilor din DT(P) Algoritmul Delaunay produce triunghiuri aproape echiunghiulare si are o complexitate O( nlog( n))

Triangularea unei multimi finite din plan

Un exmplu de triangulare Delaunay:

Punct apartinand multimii P

Diagrama Voronoi

Triangularea Delaunay - Detalii


Detalii ale triangularii: Pentru P, multime formata din n puncte in plan, orice triangulare a lui P este formata din 2n -2 -k triunghiuri si 3n -3 -k muchii, unde:

n numarul de puncte din P k numarul de puncte din P care fac parte din invelitoarea convexa

Triangularea Delaunay - Detalii


In acest exemplu n= 6 si k= 5 deci avem 5 triunghiuri si 10 muchii
p2 p3
Invelitoarea convexa

p4 p1 p5

p6

p1, p2,p3, p4,p5, apartin invelitorii convexe => k=5

Triangularea Delaunay - Algoritm


Algoritm( pseudocod)

Se da: P={p1, p2, .pn,}

Se cere: o triangulare Delaunay a lui P

(1) fie p-1, p-2, p-3, astfel incat P este continuta in p-1, p-2, p-3 (2) T= p-1, p-2, p-3 (3) pentru i=1,n executa (4) (5) //insereaza pi in T gaseste un triunghi pi, pj, pk apartinand T care contine pr,

(6)

daca pr apartine int pi, pj, pk

Triangularea Delaunay - Algoritm


(7) (8) (9) atunci aduauga muchiile din pr la varfurile pi, pj, pk // pi, pj, pk, este impartit in 3 triunghiuri

(10)
(11) (12) (13)

Le(pr , pipj , T)
Le(pr , pkpj , T) Le(pr , pkpi , T) altfel // pr este pe o latura, de exemplu pipj

(14)
(15) adiacent pi,pj (16)

adauga muchiile pk,pr si pr,pl


// aici pl, este varful celui de-al doilea triunghi // cele 2 triunghiuri se inlocuiesc cu 4 triunghiuri

Triangularea lui Delaunay - Algoritm


(17) Le(pr , plpi , T) (18) Le(pr , plpj , T) (19) Le(pr , pjpk , T)

(20) Le(pr , pkpi , T)


(21) elimina p-1, p-2, p-3, si muchiile corespunzatoare

Redam in continuare modulul Le(pr, pipj, T) utilizat in algoritmul de mai sus, unde pr este punctul inserat iar pipj, muchia care trebuie eliminata fie pipjpk , adiacent pipjpr , de-a lungul pipj inlocuieste pipj cu prpk

(1) daca pipj este ilegala atunci: (2) (3)

(4)

Le(pr , pipk , T) , Le(pr , pjpk , T)

Triangularea Delaunay
In cele ce urmeaza vom explica notiunea de latura ilegala, termen folosit in algoritmul precedent.

Fie T(S) o triangulare a multimii P si pipj, muchia comuna a triunghiurilor pipjpk, si pipjpl. Fie cercul C circumscris pipjpk. Muchia pipj este ilegala daca si numai daca pl apartine int( C). In plus, daca pipkpjpl este patrulater convex neinscriptibil, exact una dintre pipj, si pkpl este ilegala.

Triangularea Delaunay

Asadar vom diferentia urmatoarele 3 cazuri:


pl

Pl apartine ext( C)

pi pk

pj

Pl apartine C
pi pk

pl

pj

Traingularea Delaunay Grafuri Delaunay


Pl apartine int( C)
pl

pi pk

pj

Este evident ca in primele 2 cazuri pipj, este legala iar in cel de-al trilea caz este ilegala deoarece <pipjpk, mai mic decat <piplpk.

Triangularea Delaunay Delaunay Graphs


Pentru a obtine DG( P)

Se calculeaza Vor( P) (diagrama lui Voronoi pentru multimea de puncte P) Se plaseaza cate un site in fiecare celula a lui Vor( P)

Triangularea Delaunay Delaunay Graphs


Daca doua celule si si sj (si si sj sunt adiacente), creeaza intre vi si vj, ( siturile din si si sj) un arc

Triangularea Delaunay Delaunay Graphs


In final se indreapta arcele ( transformarea lor in segmente). Graful rezultat este DG( P).

Triangularea Delaunay Proprietati


Din proprietatile Diagramei Voronoi avem:

Trei puncte pi, pj, pk incluse in multimea de puncte P sunt varfuri ale aceluiasi triunghi ( din triangulare) daca cercul circumscris pipjpk, nu contine niciun alt punct din P in interior pi pj

pk

Triangularea Delaunay Proprietati


Din proprietatile Diagramei Voronoi avem:

Trei puncte pi, pj incluse in multimea de puncte P formeaza latura a unui triunghi daca cercul cu diametrul pipj, nu contine niciun alt punct din P pj

pi

Triangularea Delaunay
Din proprietatile anterioare avem:

O triangulare T a multimii de puncte P este valida numai si numai daca oricare 3 puncte pi, pj, pk, din P nu contin in interiorul cercului circumscris pipjpk, niciun alt punct din P pi pj

pk

Triangularea Delaunay Relatia cu Diag. Voronoi


Centrul cercurilor circumscrise triunghiurior din Triangularea Delaunay a unei multimi P de puncte corespunde cu intersectia dreptelor care delimiteaza un sit

Daca unim centrele cercurilor circumscrise ( rosu in prima imagine) obtinem in cea de-a doua imagine Diagrama Voronoi

Triangularea Delaunay - Aplicatii


Problema triangularii unei multimi de puncte P in geometria computationala este un subiect bine cunoscut si in afara domeniului lui.

Triangularea unei multimi de puncte P este de o importanta majora in analiza numerica( de exemplu: pentru functiile cu numar finit de paramentri).
Imaginea alaturata prezinta o functie cu numar finit de parametrii utilizata pentru a genera raza de localizare prin spatii optice analitice, cu perturbari sau chiar fara forma. Procedura se bazeaza pe Triangularea Delaunay a suprafetei

Triangularea Delaunay - Aplicatii

Un alt camp in care triangularea este amplu folosita este grafica pe calculator ( generarea de teren, nivelarea suprafetelor).

Programul importa coordonatele unor puncte de forma pi( x, y, z) aleatorii si le interpoleaza cu un Model de Elevare Digitala( DEM) folosind triangularea lui Delaunay

Triangularea lui Delaunay mai este folosita si analiza geospatiala pentru maparea unor suprafete reale
Imagine a muntilor Alpi generata de RhinoTerrain, program care foloseste triangularea lui Delaunay ( genereaza aproximativ 2 milione de triunghiuri pe secunda)

Un alta camp in care Triangularea Delaunay este folosita este recunoasterea de sabloane( ex: recunoastere faciala)

Bibliografie
http://rsbweb.nih.gov http://www.vision.csic.es

http://www.rhinoterrain.com/page413-0-press.html
http://www.neuroproductions.be

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