Your SlideShare is downloading. ×
0
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Index for meshes 2d
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Index for meshes 2d

76

Published on

Other autor: Paola Maiolino

Other autor: Paola Maiolino

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
76
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ALBERTO MINETTI PAOLA MAIOLINO 1
  • 2. SOMMARIO• Query su mesh navigabili senza indici• Strutture ausiliarie: alberi di ricerca• Quadtree, PR-quadtree e location code• PR3T-quadtree• PM-quadtree: PM2-quadtree• PM2T-quadtree• Analisi costi• Analisi performance 2
  • 3. QUERY SU MESH IN 2DLocation query trovare i triangoli che contengono un punto (x,y)Window query trovare i triangoli che intersecano un rettangolo (xmin,xmax,ymin,ymax)Range query trovare i triangoli che intersecano un cerchio (x,y,radius) 3
  • 4. QUERY SU MESH NAVIGABILIQuale triangolo contiene il punto (300,200)? t TV TE TT A 1,2,7 a,h,g λ,B,λv coord VV VE VT e EV EE ET B 2,3,7 b,i,h λ,C,A1 30,350 7,2 g,a A a 1,2 g,g,h,b A,λ C 3,4,7 c,j,i λ,D,B2 160,330 3,7,1 b,h,a B,A b 2,3 h,a,i,c B,λ D 4,5,7 d,k,j λ,E,C c 3,4 i,b,j,d C,λ3 315,430 4,7,2 c,i,b C,B E 5,6,7 e.f.k λ,λ,D d 4,5 j,c,k,e D,λ4 450,335 5,7,3 d,j,c D,C O 6 e 5,6 k,d,f,f E,λ e5 375,160 6,7,4 e,k,d E,D f 6,7 e,e,k,g E,λ f E 56 250,40 7,5 f,e E g 7,1 h,f,a,a A,λ 7 k D7 225,190 1,2,3, g,h,i, A,B, h 7,2 i,g,b,a B,A j d g 4,5,6 j,k,f C,D, i 7,3 j,h,c,b C,B i A h C E,F j 7,4 k,i,d,c D,C 4 1 B O(#triangoli) anche nel caso a c k 7,5 f,j,e,d E,D b peggiore con le svolte 2 3 4
  • 5. INDICE SPAZIALE• Struttura ausiliaria • Non fa parte della mesh• Suddivide le regioni • Regole di divisione • Ricerca limitata a tot regioni• Ogni regione contiene info • Dominio (estremi) • Vertici all’interno • Triangoli intersecati • Edge intersecati• Rapido accesso all’indice • Strutture di tipo albero 5
  • 6. ALBEROGrafo diretto• Aciclico• Connesso• Senza sotto-alberi condivisi• Una sola radiceElimineremo nodi interni e puntatori 6
  • 7. BINARY SEARCH TREERicerca in una dimensioneL’elemento 64 è presente nell’albero?Cammino: 60,74,65,63,64!Complessità logaritmica 7
  • 8. POINT REGION QUADTREEIndice per punti nello spazio bidimensionale 8
  • 9. POINT REGION QUADTREE (SITUAZIONE INIZIALE)Ogni punto in una regione/foglia dell’alberoDividiamo le regioni sempre in 4 ricorsivamente 9
  • 10. POINT REGION QUADTREE (INSERIEMENTO DI A E B) A B 10
  • 11. POINT REGION QUADTREE (A E B INSERITI) A B 11
  • 12. POINT REGION QUADTREE (INSERIMENTO DI C E D) A C B D 12
  • 13. POINT REGION QUADTREE (C INSERITO) AC B D 13
  • 14. POINT REGION QUADTREE (C E D INSERITI) A C B D 14
  • 15. POINT REGION QUADTREE (INSERIMENTO DI E) A E C B D 15
  • 16. POINT REGION QUADTREE (INSERIMENTO DI E) A E C B D 16
  • 17. POINT REGION QUADTREE (E INSERITO) A EC B D 17
  • 18. POINT REGION QUADTREE (E INSERITO)C B D 18
  • 19. POINT REGION QUADTREE C B D F K J A E N L M P G H 19
  • 20. PR-QUADTREE (CONSIDERAZIONI)Struttura non dipende dall’ordine di inserimento dell’alberoOgni nodo dell’albero rappresenta una regione nello spazio 2DOgni nodo dell’albero può contenere solo un puntoSpazio diviso sempre in quattro quadranti di ugual dimensioneInserimento ricorsivo finché la foglia vuota non viene trovata/creataUn singolo inserimento può aumentare di molti livello l’albero se i punti sono particolarmente viciniMinore è la distanza tra i punti, maggiore sarà la profondità dell’albero 20
  • 21. POINTER-LESS RAPPRESENTATIONEvitiamo di memorizzare:• I puntatori (4 per ogni nodo interno)• Nodi interniMemorizziamo solo i nodi foglia con relativo location code che codifica il cammino all’interno dell’albero per arrivarciSi evita di memorizzare una grande quantità di puntatori e di nodi all’interno dell’alberoDiversi metodi per realizzarlo Irene Gargantini, An Effective Way to Rapresent Quadtrees, 1982 21
  • 22. INDICI PER MESH POLIGONALIPM3T-quadtree• Memorizza triangoli• Stessa divisione dei PR-quadtreePM2-quadtree• Memorizza edge• Qualsiasi polygon map non solo triangoli• Divisione regioni più finePM2T-quadtree• Memorizza triangoli• Divisione regioni più fine 22
  • 23. PM3T QUADTREEEstensione del PR-quadtree per mesh triangolariDivisione spaziale sui vertici identica al PR-quadtreeUna foglia può contenere un vertice e la lista dei triangoli intersecativi: x, y, z 3Nt i : v 1, v 2 , v 3 3T ≈ 6N (Eulero)li: loc, v, list* 3LN + 2TLLN è il numero di foglie dell’indiceTL è la lunghezza di tutte le liste di triangoli Handle/Manico della lista Ogni nodo della lista contiene l’indice del triangolo e il puntatore al successivo nodo 23
  • 24. CLASSE DEI PM QUADTREESimili ai PR-quadtree, ma definiti su polygon map• Alberi di ricerca quaternari• Memorizzano i punti all’interno della regione• Memorizzano anche gli spigoli• Il partizionamento definito rispetto ai vertici con regole aggiuntive 24
  • 25. PM2 QUADTREEEstensione del PM-quadtreeDivisione spaziale più fine del PR-quadtree (e del PM3T-quadtree)Una foglia può contenere un vertice e la lista degli edge intersecati1) Una foglia/regione checontiene un vertice puòintersecare solo edge cheincidono su tale vertice2) Una foglia/regione che noncontiene un vertice puòintersecare solo edge cheincidono sullo stesso verticeesterno al blocco 25
  • 26. PM2 QUADTREE (COSTO)Funziona per qualsiasi poligono, non solo triangoliA causa delle regole 1 e 2 abbiamo, in generale, più regioni/foglie rispetto ad un PM3T-quadtree e quindi LN sarà maggiorevi: x, y, z 3Nei: v1, v2 2E ≈ 6N (formula di Eulero)li: loc, list* 2LN + 2EL il vertice all’interno di una foglia è facilmente ricavabile (gli edge nella lista hanno tutti un vertice comune)LN è il numero di foglie dell’indiceEL è la lunghezza di tutte le liste di edge 26
  • 27. PM2T QUADTREEEstensione del PR-quadtree per mesh triangolariDivisione spaziale più fine del PR-quadtree (e del PM3T-quadtree)Una foglia può contenere un vertice e la lista dei triangoli intersecati1) Una foglia/regione checontiene un vertice puòintersecare solo triangoli cheincidono su tale vertice2) Una foglia/regione che noncontiene un vertice puòintersecare solo triangoli cheincidono sullo stesso verticeesterno al blocco 27
  • 28. PM2T QUADTREE (TIPO FOGLIA)4 differenti tipi di foglia/regione:Foglia completamente vuota ha tipo -1Foglia intersecata da almeno 3 triangoli ha come tipo l’indice v del vertice condiviso, triangoli memorizzati non esplicitamente v è un numero intero positivoFoglia intersecata da 1 solo triangolo t ha come tipo l’indice del triangolo come –2(t+1) negativo pari –(tipo/2)–1Foglia intersecata da 2 triangoli t1 e t2 memorizza l’indice di uno dei triangoli come –2(t1+1)+1 o –2(t2+1)+1 negativo dispari in modo che sia diverso da -1 ((1–tipo)/2)–1 28
  • 29. PM2T QUADTREE (COSTO)A causa delle regole 1 e 2 abbiamo, in generale, più regioni/foglie rispetto ad un PM3T-quadtree e quindi LN sarà maggiorevi: x, y, z, t 4Nt i : v1 , v2 , v3, t 1 , t 2 , t 3 6T ≈ 12N (formula di Eulero) (classica struttura indicizzata con adiacenze)li: loc, tipo 2LN (nessuna lista) grazie al tipo e alle relazioni tra vertici e triangoli possiamo navigare la meshLN è il numero di foglie dell’indiceLN ≈ 5N per dati sintetizzati (63% in più rispetto alla struttura classica)LN ≈ 6N per dati reali (75% in più rispetto alla struttura classica) De Floriani, Fancinoli, Magillo, Dimitri; A HIERARCHICAL SPATIAL INDEX FOR TRIANGULATED SURFACES; 2008 29
  • 30. ANALISI: STRUTTURA DELL’ALBERO De Floriani, Fancinoli, Magillo, Dimitri; A HIERARCHICAL SPATIAL INDEX FOR TRIANGULATED SURFACES; 2008 30
  • 31. ANALISI: OCCUPAZIONE Table: Depth of the tree, number of leaf nodes, and storage costs on real data Rome 957’456 vertices 1’914’867 triangles Dolomites 810’000 vertices 1’619’963 triangles De Floriani, Fancinoli, Magillo, Dimitri; A HIERARCHICAL SPATIAL INDEX FOR TRIANGULATED SURFACES; 2008 31
  • 32. ANALISI: PERFORMANCEPoint location: trovare il triangolo che contiene un puntoCosto: discesa nell’albero per trovare la regione che contiene il punto + test di point-in-triangle per ogni triangolo nella regione Meno svolte (pesanti a causa dell’aritmetica FP) Varianza minore: caso peggiore vicino alla media Più nodi visitati a causa della maggior profondità dell’albero Meno triangoli controllati(Per i PM2-quadtree si ha informazione solo sugli edge quindi il calcolo diventa complesso) De Floriani, Fancinoli, Magillo, Dimitri; A HIERARCHICAL SPATIAL INDEX FOR TRIANGULATED SURFACES; 2008 32

×