40
Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica de Barcelona

Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

Embed Size (px)

Citation preview

Page 1: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

Simplificación de mallas de triángulos

Autor: Miguel PasenauDirector: Carlos Andújar

Departament de Llenguatges i Sistemes InformàticsFacultat d’Informàtica de Barcelona

Page 2: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 2

Índice• Introducción• Aplicación– Plataforma– Algoritmos

• Resultados– Modelos– Tiempos, escalabilidad

• Conclusiones

Page 3: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 3

Índice• Introducción• Aplicación– Plataforma– Algoritmos

• Resultados– Modelos– Tiempos, escalabilidad

• Conclusiones

Page 4: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 4

Motivación• Modelos escaneados de alta resolución• Simulaciones con 10^9 elementos• Interacción en tiempo real• Plataformas comunes

Page 5: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 5

Objetivos• Desarrollar algoritmo de simplificación• Nivel de detalle seleccionable• Rápido• Eficiente en memoria• Multiplataforma• Robusto

Page 6: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 6

Etapas• Estudio del arte• Desarrollo aplicación de ensayo• Implementación primera versión• Ampliación y mejoras• Análisis de resultados

Page 7: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 7

Índice• Introducción• Aplicación– Plataforma– Algoritmos

• Resultados– Modelos– Tiempos, escalabilidad

• Conclusiones

Page 8: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 8

Plataforma• Desarrollado en C ++, OpenMP y OpenGL• Usando FLTK 1.3.x ( incluye GLUT)

Page 9: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 9

Algoritmo de DeCoro y Tatarchuk 2007

• Full grid, simplificación uniforme de grupos vértices

• Algoritmo de tres pasos:– Paso 1: crear mapa de QEF a partir de la malla– Paso 2: encontrar el representante óptimo para

cada celda– Paso 3: simplificación de malla, colapsando vértices

de cada celda en su representante• Utiliza el error cuadrático de Garland y

Heckbert 1997

Page 10: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 10

Algoritmo de DeCoro 2007• Paso 1: para cada nodo de cada triángulo, acumular

sus coordenadas y la QEF del triángulo en su celda

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

Grid de 8 x 8 x 8 para acumular: QEF y vértices de la celda

Page 11: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 11

Algoritmo de DeCoro 2007• Paso 2: representante óptimo de la celda:– Invertir QEF– Verificar si está en la celda– Si no, usar el centroide de los vértices

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

QEFacc

Representante óptimo

Page 12: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 12

Algoritmo de DeCoro 2007• Paso 3: para cada triángulo– Obtener las celdas ( cluster_id) de sus vértices– Si no colapsa:

• Sustituir vértices por representante óptimo• Guardar triángulo Mapa Qef + Acc

Grid de 9 x 9 x 9

Page 13: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 13

Algoritmo de DeCoro 2007• Paso 3: para cada triángulo– Obtener las celdas de sus vértices– Si colapsa en línea:

• Sustituir vértices por representante óptimo• Guardar línea Mapa Qef + Acc

Grid de 9 x 9 x 9

Page 14: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 14

Mejoras introducidas• Recuperación de líneas

Grid de 19 x 19 x 19

Page 15: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 15

Mejoras introducidas• Restricción del representante a la celda• Recuperación de líneas• Triángulos y líneas únicas• Corrección de normales

Page 16: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 16

Calidad y resolución• Full grid hasta 2563 = 1,1 GB

Page 17: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 17

Calidad y resolución• Ocupación según resolución de la malla

poligonal del modelo Lucy

Celdas ocupadas y memoria ( 72 bytes = qef + acc + opt)

grid # celdas % / total MBytes1283 23 k 1 % 1,52563 91 k 0,5 % 65123 351 k 0,3 % 24

1.0243 1,3 M 0,1 % 902.0483 4,6 M 0,05 % 3134.0963 10 M 0,02 % 706

Page 18: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 18

Hash espacial Alcántara et al. 2009

Buckets = # celdas / 409

Max 512 items

Media de 409 items

Espacio extra

h( k) = k mod #_buckets

• Primer nivel: repartir en buckets de <= 512 items

Page 19: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 19

Hash de cuco Pagh y Rodler 2001• Hash de cuco: guardar todos los elementos usando g1

Max 512 items

Media de 409 items Espacio extra

g1( k)

Tabla T1

g2( k)

Tabla T2

g3( k)

Tabla T3

Page 20: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 20

Hash espacial Alcántara 2009• Hash de cuco: guardar resto de elementos usando g2

Max 512 items

Media de 409 items Espacio extra

g1( k)

Tabla T1

g2( k)

Tabla T2

g3( k)

Tabla T3

Page 21: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 21

Hash espacial Alcántara 2009• Hash de cuco: guardar resto de elementos usando g3

Max 512 items

Media de 409 items Espacio extra

g1( k)

Tabla T1

g2( k)

Tabla T2

g3( k)

Tabla T3

Page 22: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 22

Hash espacial Alcántara 2009• Guardar elementos usando g1 sacando los ya guardados

Max 512 items

Media de 409 items Espacio extra

g1( k)

Tabla T1

g2( k)

Tabla T2

g3( k)

Tabla T3

Page 23: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 23

Hash espacial Alcántara 2009• Guardar elementos usando g2 sacando los ya guardados

Max 512 items

Media de 409 items Espacio extra

g1( k)

Tabla T1

g2( k)

Tabla T2

g3( k)

Tabla T3

Page 24: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 24

Hash espacial Alcántara 2009• Guardar elementos usando g3 sacando los ya guardados

Max 512 items

Media de 409 items Espacio extra

g1( k)

Tabla T1

g2( k)

Tabla T2

g3( k)

Tabla T3

Page 25: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 25

Hash espacial Alcántara 2009• Copiar las tablas y seed de vuelta al bucket

g1( k)

Tabla T1

g2( k)

Tabla T2

g3( k)

Tabla T3

Tabla T1 – g1( k) Tabla T2 – g2( k) Tabla T3 – g3( k)

Max 512 items

Media de 409 items Espacio extra

seed

Page 26: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 26

Hash espacial Alcántara 2009• Lista de claves = celdas ocupadas• Hash híbrido de dos niveles:– Primer nivel: hash tradicional y global• Buckets de <= 512 elementos• Media de ocupación de 409 elementos:

– #_buckets = ( #_celdas + 408) / 409

• Función hash:– h( k) = k mod #_buckets– Alternativa:

» h( k) = ( ( c0 + c1 · k ) mod 1900813) mod #_buckets

» c0, c1 = primos

Page 27: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 27

Hash espacial Alcántara 2009• Segundo nivel: hash de cuco en cada bucket– Max 512 items + Espacio extra = 573 items

– Dividido en tres sub-tablas de 191 items

– Buscar _seed para construir• gi( k) = ( ci0 + ci1 · k ) mod 191

• cij = _seed ^ cteij // cteij constantes predefinidas

Max 512 items

Media de 409 items Espacio extra

Tabla T1 – g1( k) Tabla T2 – g2( k) Tabla T3 – g3( k)

Page 28: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 28

Hash espacial Alcántara 2009• Acceso constante:– 1r nivel: h( k) = k mod #_buckets - 1 acceso– 2o nivel: g1( k) sino g2( k) sino g3( k) - 2..4 accesos

• Nivel ocupación: 409 / 573 = 71,38 %

• Necesita calcular lista de celdas ocupadas• Elemento:– Clave = cluster_id– Valor = función error cuádrica + acumulación coords

Page 29: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 29

Aplicación: DeCoro 2007 + Alcántara 2009

• Algoritmo de cuatro pasos:– Paso 1: • crear lista celdas ocupadas• crear hash híbrido, elemento = ( cluster_id, qef( 0))

– Paso 2: crear mapa de QEF a partir de la malla– Paso 3: encontrar el representante óptimo para cada

celda– Paso 4: simplificación de malla, colapsando vértices

de cada celda en su representante

Page 30: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 30

Índice• Introducción• Aplicación– Plataforma– Algoritmos

• Resultados– Modelos– Tiempos, escalabilidad

• Conclusiones

Page 31: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 31

Modelo LucyOriginal

14 M puntos28 M triángulos0 líneas

Grid 40963

10,3 M puntos20,6 M triángulos7 líneas73,3 %72 s. con HashUC

Grid 20483

4,6 M puntos9,1 M triángulos6 líneas32,5 %31 s. con HashUC

Grid 10243

1,3 M puntos2,6 M triángulos23 líneas9,4 %11 s. con HashUC

Grid 5123

351 K puntos705 K triángulos17 líneas2,5 %5 s. con HashUC

Grid 2563

91 K puntos183 K triángulos11 líneas0,65 %4 s. con HashUC6 s. con FullUC

Grid 1283

23 K puntos47 K triángulos12 líneas0,16 %4 s. con HashUC5 s. con FullUC

Grid 643

5 K puntos12 K triángulos8 líneas0,04 %8 s. con HashUC4 s. con FullUC

Grid 323

1.212 puntos2.800 triángulos4 líneas0,01 %23 s. con HashUC4 s. con FullUC

Grid 163

284 puntos660 triángulos6 líneas0,002 %60 s. con HashUC5 s. con FullUC

Grid 83

68 puntos138 triángulos6 líneas0,0005 %59 s. con HashUC7 s. con FullUC

Grid 43

18 puntos32 triángulos2 líneas ~ 0,0001 %61 s. con HashUC13 s. con FullUC

Grid 23

8 puntos14 triángulos0 líneas < 0,0001 %62 s. con HashUC62 s. con FullUC

Page 32: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 32

Modelo ciudadOriginal: 6,1 M puntos y 15,6 M triángulosGrid 1283 : 0,21 % del original, 13 K puntos, 34 K triángulos, 380 líneasGrid 2563 : 0,73 % del original, 44 K puntos, 113 K triángulos, 548 líneasGrid 5123 : 2,2 % del original, 138 K puntos, 332 K triángulos, 1 K líneasGrid 1.0243 : 6 % del original, 386 K puntos, 881 K triángulos, 1,5 K líneasGrid 2.0483 : 12 % del original, 780 K puntos, 1,7 M triángulos, 1,8 K líneasGrid 4.0963 : 19 % del original, 1,3 M puntos, 2,7 M triángulos, 2 K líneasGrid 8.1923 : 28 % del original, 1,9 M puntos, 3,8 M triángulos, 1,5 K líneasGrid 16.3843 : 37 % del original, 2,6 M puntos, 5,2 M triángulos, 739 líneasOriginal: 6,1 M puntos y 15,6 M triángulos

Page 33: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 33

Resultados

Grid 1283

0,16 % del original23 K puntos47 K triángulos12 líneas

• Error:

Grid 2563

0,65 % del original91 K puntos183 K triángulos11 líneas

Grid 5123

2,5 % del original351 K puntos705 K triángulos17 líneas

Page 34: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 34

Resultados: escalabilidad• Algoritmo de DeCoro con full grid

Distribución tiempoprocesos 1 core 2 cores 4 cores

Inicialización 5 % 7 % 10 %Crear mapa QEF 62 % 58 % 51 %

Buscar óptimo 1 % 1 % 2 %Simplificar malla 32 % 34 % 37 %

6 cores10 %47 %2 %

41 %Total 13 s. 7 s. 4 s. 3 s.

Cronometrado en nodo 2 cpu Intel Xeon E5410Simplificando el modelo lucy con un grid de 2563

Page 35: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 35

Resultados: escalabilidad• Algoritmo DeCoro + Alcántara: hash espacial

Cronometrado en pc i7-920Simplificando el modelo lucy con un grid de 2563

Distribución tiempoprocesos 1 core 2 cores 4 cores

Crear hashes 7 % 7 % 7 %Crear mapa QEF 60 % 58 % 59 %

Buscar óptimo 1 % 2 % 3 %Simplificar malla 30 % 32 % 28 %

4 c. + HT5 %

59 %3 %

29 %Total 9 s. 5 s. 3 s. 2,5 s.

Cronometrado en pc i7-920Simplificando el modelo lucy con un grid de 2.0483

Distribución tiempoprocesos 1 core 2 cores 4 cores

Crear hashes 23 % 27 % 32 %Crear mapa QEF 22 % 20 % 17 %

Buscar óptimo 3 % 3 % 3 %Simplificar malla 51 % 49 % 46 %

4 c. + HT36 %15 %3 %

44 %Total 34 s. 20 s. 13 s. 10 s.

Page 36: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 36

Índice• Introducción• Aplicación– Plataforma– Algoritmos

• Resultados– Modelos– Tiempos, escalabilidad

• Conclusiones

Page 37: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 37

Conclusiones• Aplicación gMeshSim– Algoritmo de simplificación DeCoro 2007 +

Alcántara 2009– 270 bytes / nodo malla original– Coste temporal lineal:• Recorrido por los nodos de la malla: crear hash• Recorrido por los elementos: acumular qef y coords• Recorrido por los elementos: simplificación de malla• Recorrido por la lista de celdas ocupadas

– Simplifica una malla de 28.000.000 triángulos en 4 segundos ( Intel QuadCore Q9550)

Page 38: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 38

Conclusiones• Mejoras DeCoro 2007:– Recuperación de líneas únicas– Recuperación de triángulos únicos– Representante óptimo restringido a la celda– Corrección de normales

• Hash espacial híbrido de Alcántara 2009:– Se ha usado para simplificar mallas– Se ha aumentado el tamaño de la clave a 64 bits– Se ha experimentado con la ocupación media de

buckets– Se pueden simplificar mallas con un error < 1e-5

Page 39: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

22 Junio 2011 / 41

Bibliografía• "Adaptive Vertex Clustering Using Octrees" by Scott Schaefer and Joe Warren,

proceedings of SIAM Geometric Design and Computation 2003, SIAM, New York, NY, USA, vol. 2, p. 491-500, 2003.

• "Real-time Mesh Simplification Using the GPU" by Christopher DeCoro and Natalya Tatarchuk, Proceedings of the 2007 symposium on Interactive 3D graphics and games, ACM New York, NY, USA, 2007.

• "Perfect Spatial Hashing" by Sylvain Lefebvre and Hugues Hoppe, ACM Transactions on Graphics 25, 3 (July), 579–588, 2006.

• "Real-Time Parallel Hashing on the GPU" by Dan A. Alcantara, Andrei Sharf, Fatemeh Abbasinejad, Shubhabrata Sengupta, Michael Mitzenmacher, John D. Owens and Nina Amenta, ACM Transactions on Graphics - Proceedings of ACM SIGGRAPH Asia 2009

• "Surface simplification using quadric error metrics" by Michael Garland and Paul S. Heckbert, ACM Siggraph Conference, 209-216, 1997.

Page 40: Simplificación de mallas de triángulos Autor: Miguel Pasenau Director: Carlos Andújar Departament de Llenguatges i Sistemes Informàtics Facultat d’Informàtica

Simplificación de mallas de triángulos