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.

Slides:



Advertisements
Presentaciones similares
PRÁCTICA 3. ANÁLISIS DE LAS PROPIEPADES PSICOMÉTRICAS DE UN TEST (Tª CLÁSICA) OBJETIVO: APRENDER A ANALIZAR UN TEST USANDO SPSS. ANÁLISIS DE LOS ÍTEMS.
Advertisements

Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Objetivos Desarrollar software funcional multi-modelo sobre distintas plataformas para el estudio de sistemas complejos de cómputo de alto rendimiento.
Marcas de agua con FHT Fernando Pomares Reyes
Sistema de pesaje dinámico Dynaweight
MÓDULO DE BÚSQUEDA DE PERSONAS DENTRO DE UNA BASE DE DATOS DE ROSTROS
Generador de Mallas Triangulares.
Cap 4 Búsqueda Heurística
Tópico “Plataforma para el desarrollo de proyectos con dsPICs y Visión Robótica con LabVIEW” Msc. Carlos Valdivieso APLICACIÓN DE VISIÓN CON LabVIEW PARA.
M.I.A Daniel Alejandro García López.  Primer componente: Arreglo de cubetas.- Es una arreglo A de tamaño N, en el que se puede considerar que cada celda.
Jornadas de Recuperación Terciaria Neuquén Neuquén IMPORTANCIA DE LA CALIDAD DEL AGUA EN EOR Noviembre de 2010.
Direcciones físicas y direcciones virtuales (lógicas)
Creación de Bocetos 2D.
Programación II Profesor A.S. MOLINA, Carlos
1. índice  Introducción  Definición del modelo  Historia de un cráneo  Aplicaciones del modelo  Conclusiones  Bibliografía 2.
Tesis para Grado de Ms.C. Optimización de Portafolios de Inversión en Bienes Raíces Mediante Algoritmos de Solución de Restricciones (Chile)
Temas importantes para el desarrollo de la segunda parte del TPE
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
Programa de certificación de Black Belts
VECTORES VS PIXELES Por Drako.
Flujo de carga en Sistemas de Potencia.
Modelo de estimación espacial de consumos eléctricos para la planificación de sistemas de transmisión José Manuel Infante Tesis de magíster Ciencias de.
Solución de problemas por Búsqueda

TESINA DE LICENCIATURA EN INFORMÁTICA
Programación I Universidad Nacional de Luján
Inspecciones de Software
3. Funciones discriminantes para la f.d.p normal.
Diseño y análisis de algoritmos
“Sociedad, Ciencia, Tecnología y Matemáticas” 24 de marzo de 2003, Universidad de La Laguna Generación Automática de Mallas Tridimensionales para la Simulación.
Minivídeo 1 de 2 1 Análisis Multicriterio Introducción En la realidad económica es difícil que apareza un único objetivo. Los objetivos suelen estar.
1.Los productos industriales y su representación
Líneas de Investigación
METODOS DE BUSQUEDA INFORMADOS CAPITULO 5
Simplificación de Mallados Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela.
Ernesto Coto RECONSTRUCCIÓN DE VOLÚMENES CON TETRAEDROS A PARTIR DE SUPERFICIES GENERADAS UTILIZANDO MODELOS DEFORMABLES Laboratorio de Computación Gráfica.
DESARROLLO DE MODELOS DE SIMULACION DE FLUJOS INTERFACIALES EN PROCESOS DE FUNDICION DPI Equipo investigador Julio Hernández Rodríguez (IP) Pablo.
Cómo encontramos yacimientos?  L os Geofísicos encuentran yacimientos por medio de ondas que emiten desde la superficie y dependiendo de cuánto tarde.
Cómo hacer un nodo anidado
Simular: Representar una cosa, fingiendo o imitando lo que no es.
UNIVERSIDAD NACIONAL DE CÓRDOBA FACULTAD DE CIENCIAS EXÁCTAS FÍSICAS Y NATURALES ESCUELA DE AGRIMENSURA CATEDRA DE TRABAJO FINAL Tema: Modelo Digital de.
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales
Análisis y Diseño de Algoritmos
Integrantes: Jorge Herrera M. Carlos Rodríguez R..
Memoria virtual.
INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN PROYECTO FIN DE CARRERA
Simulacion de sistemas dinamicos
A G E N D A Introducción (2) Tipos de Sistemas de Información (SI) (3)
Parte I. Estructuras de Datos.
RETO INTERNACIONAL LABSAG SIMPRO MAYO 2015
Gestión del Conocimiento en las Empresas
Proyecto Fin de Carrera Departamento de Tecnología Electrónica 1 E.T.S.I.Telecomunicación Universidad de Málaga DESARROLLO Y DISEÑO DE MUNDOS VIRTUALES.
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales
Formatos de imágenes.
Robótica Inteligente L. Enrique Sucar Marco López ITESM Cuernavaca.
SISTEMAS OPERATIVOS Por Martín Arosemena.
CURSO Visor SITNA BÁSICO 2015.
Repositorios en la Nube: Investigación sobre ADrive.
REINGENIERÍA.
Identificación de parámetros de sensibilidad.
Solver complemento de excel
EJEMPLO DE UN PROBLEMA DE PROGRAMACION LINEAL.
Bitmap.

MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE
PROCESO DE DESARROLLO. Introducción Mediante esta presentación se pretende describir el proceso de desarrollo del TALLER I.
Autora: Angelines Turón Turón Tutora: Mª Gloria Sánchez Torrubia SISTEMA DE AYUDA A LA ENSEÑANZA PARA RESOLUCIÓN DE MAPAS DE KARNAUGH.
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Diseño de una herramientas on line de investigación cualitativa para análisis de un generador virtual de exposiciones Autoras: Pilar Rivero Hazel C. Flores.
Clase de revisión: sistemas de ecuaciones lineales Clase de revisión: sistemas de ecuaciones lineales Objetivos: Mediar en el aprendizaje de: resolución.
Transcripción de la presentación:

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

22 Junio 2011 / 2 Índice Introducción Aplicación – Plataforma – Algoritmos Resultados – Modelos – Tiempos, escalabilidad Conclusiones

22 Junio 2011 / 3 Índice Introducción Aplicación – Plataforma – Algoritmos Resultados – Modelos – Tiempos, escalabilidad Conclusiones

22 Junio 2011 / 4 Motivación Modelos escaneados de alta resolución Simulaciones con 10^9 elementos Interacción en tiempo real Plataformas comunes

22 Junio 2011 / 5 Objetivos Desarrollar algoritmo de simplificación Nivel de detalle seleccionable Rápido Eficiente en memoria Multiplataforma Robusto

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

22 Junio 2011 / 7 Índice Introducción Aplicación – Plataforma – Algoritmos Resultados – Modelos – Tiempos, escalabilidad Conclusiones

22 Junio 2011 / 8 Plataforma Desarrollado en C ++, OpenMP y OpenGL Usando FLTK 1.3.x ( incluye GLUT)

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

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 QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc Grid de 8 x 8 x 8 para acumular: QEF y vértices de la celda

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 QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc QEF acc Representante óptimo

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

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

22 Junio 2011 / 14 Mejoras introducidas Recuperación de líneas Grid de 19 x 19 x 19

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

22 Junio 2011 / 16 Calidad y resolución Full grid hasta = 1,1 GB

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% / totalMBytes k1 %1, k0,5 % k0,3 % ,3 M0,1 % ,6 M0,05 % M0,02 %706

22 Junio 2011 / 18 Hash espacial Alcántara et al 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

22 Junio 2011 / 19 Hash de cuco Pagh y Rodler 2001 Hash de cuco: guardar todos los elementos usando g 1 Max 512 items Media de 409 itemsEspacio extra g 1 ( k) Tabla T1 g 2 ( k) Tabla T2 g 3 ( k) Tabla T3

22 Junio 2011 / 20 Hash espacial Alcántara 2009 Hash de cuco: guardar resto de elementos usando g 2 Max 512 items Media de 409 itemsEspacio extra g 1 ( k) Tabla T1 g 2 ( k) Tabla T2 g 3 ( k) Tabla T3

22 Junio 2011 / 21 Hash espacial Alcántara 2009 Hash de cuco: guardar resto de elementos usando g 3 Max 512 items Media de 409 itemsEspacio extra g 1 ( k) Tabla T1 g 2 ( k) Tabla T2 g 3 ( k) Tabla T3

22 Junio 2011 / 22 Hash espacial Alcántara 2009 Guardar elementos usando g 1 sacando los ya guardados Max 512 items Media de 409 itemsEspacio extra g 1 ( k) Tabla T1 g 2 ( k) Tabla T2 g 3 ( k) Tabla T3

22 Junio 2011 / 23 Hash espacial Alcántara 2009 Guardar elementos usando g 2 sacando los ya guardados Max 512 items Media de 409 itemsEspacio extra g 1 ( k) Tabla T1 g 2 ( k) Tabla T2 g 3 ( k) Tabla T3

22 Junio 2011 / 24 Hash espacial Alcántara 2009 Guardar elementos usando g 3 sacando los ya guardados Max 512 items Media de 409 itemsEspacio extra g 1 ( k) Tabla T1 g 2 ( k) Tabla T2 g 3 ( k) Tabla T3

22 Junio 2011 / 25 Hash espacial Alcántara 2009 Copiar las tablas y seed de vuelta al bucket g 1 ( k) Tabla T1 g 2 ( k) Tabla T2 g 3 ( k) Tabla T3 Tabla T1 – g 1 ( k)Tabla T2 – g 2 ( k)Tabla T3 – g 3 ( k) Max 512 items Media de 409 itemsEspacio extra seed

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) = ( ( c 0 + c 1 · k ) mod ) mod #_buckets » c 0, c 1 = primos

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 g i ( k) = ( c i0 + c i1 · k ) mod 191 c ij = _seed ^ cte ij // cte ij constantes predefinidas Max 512 items Media de 409 items Espacio extra Tabla T1 – g 1 ( k)Tabla T2 – g 2 ( k)Tabla T3 – g 3 ( k)

22 Junio 2011 / 28 Hash espacial Alcántara 2009 Acceso constante: – 1 r nivel: h( k) = k mod #_buckets- 1 acceso – 2 o nivel: g 1 ( k) sino g 2 ( k) sino g 3 ( k) 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

22 Junio 2011 / 29 Aplicación: DeCoro 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

22 Junio 2011 / 30 Índice Introducción Aplicación – Plataforma – Algoritmos Resultados – Modelos – Tiempos, escalabilidad Conclusiones

22 Junio 2011 / 31 Modelo Lucy Original 14 M puntos 28 M triángulos 0 líneas Grid ,3 M puntos 20,6 M triángulos 7 líneas 73,3 % 72 s. con HashUC Grid ,6 M puntos 9,1 M triángulos 6 líneas 32,5 % 31 s. con HashUC Grid ,3 M puntos 2,6 M triángulos 23 líneas 9,4 % 11 s. con HashUC Grid K puntos 705 K triángulos 17 líneas 2,5 % 5 s. con HashUC Grid K puntos 183 K triángulos 11 líneas 0,65 % 4 s. con HashUC 6 s. con FullUC Grid K puntos 47 K triángulos 12 líneas 0,16 % 4 s. con HashUC 5 s. con FullUC Grid K puntos 12 K triángulos 8 líneas 0,04 % 8 s. con HashUC 4 s. con FullUC Grid puntos triángulos 4 líneas 0,01 % 23 s. con HashUC 4 s. con FullUC Grid puntos 660 triángulos 6 líneas 0,002 % 60 s. con HashUC 5 s. con FullUC Grid puntos 138 triángulos 6 líneas 0,0005 % 59 s. con HashUC 7 s. con FullUC Grid puntos 32 triángulos 2 líneas ~ 0,0001 % 61 s. con HashUC 13 s. con FullUC Grid puntos 14 triángulos 0 líneas < 0,0001 % 62 s. con HashUC 62 s. con FullUC

22 Junio 2011 / 32 Modelo ciudad Original: 6,1 M puntos y 15,6 M triángulos Grid : 0,21 % del original, 13 K puntos, 34 K triángulos, 380 líneasGrid : 0,73 % del original, 44 K puntos, 113 K triángulos, 548 líneasGrid : 2,2 % del original, 138 K puntos, 332 K triángulos, 1 K líneasGrid : 6 % del original, 386 K puntos, 881 K triángulos, 1,5 K líneasGrid : 12 % del original, 780 K puntos, 1,7 M triángulos, 1,8 K líneasGrid : 19 % del original, 1,3 M puntos, 2,7 M triángulos, 2 K líneasGrid : 28 % del original, 1,9 M puntos, 3,8 M triángulos, 1,5 K líneasGrid : 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

22 Junio 2011 / 33 Resultados Grid ,16 % del original 23 K puntos 47 K triángulos 12 líneas Error: Grid ,65 % del original 91 K puntos 183 K triángulos 11 líneas Grid ,5 % del original 351 K puntos 705 K triángulos 17 líneas

22 Junio 2011 / 34 Resultados: escalabilidad Algoritmo de DeCoro con full grid Distribución tiempo procesos1 core2 cores4 cores Inicialización5 %7 %10 % Crear mapa QEF62 %58 %51 % Buscar óptimo1 % 2 % Simplificar malla32 %34 %37 % 6 cores 10 % 47 % 2 % 41 % Total13 s.7 s.4 s.3 s. Cronometrado en nodo 2 cpu Intel Xeon E5410 Simplificando el modelo lucy con un grid de 256 3

22 Junio 2011 / 35 Resultados: escalabilidad Algoritmo DeCoro + Alcántara: hash espacial Cronometrado en pc i7-920 Simplificando el modelo lucy con un grid de Distribución tiempo procesos1 core2 cores4 cores Crear hashes7 % Crear mapa QEF60 %58 %59 % Buscar óptimo1 %2 %3 % Simplificar malla30 %32 %28 % 4 c. + HT 5 % 59 % 3 % 29 % Total9 s.5 s.3 s.2,5 s. Cronometrado en pc i7-920 Simplificando el modelo lucy con un grid de Distribución tiempo procesos1 core2 cores4 cores Crear hashes23 %27 %32 % Crear mapa QEF22 %20 %17 % Buscar óptimo3 % Simplificar malla51 %49 %46 % 4 c. + HT 36 % 15 % 3 % 44 % Total34 s.20 s.13 s.10 s.

22 Junio 2011 / 36 Índice Introducción Aplicación – Plataforma – Algoritmos Resultados – Modelos – Tiempos, escalabilidad Conclusiones

22 Junio 2011 / 37 Conclusiones Aplicación gMeshSim – Algoritmo de simplificación DeCoro 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 triángulos en 4 segundos ( Intel QuadCore Q9550)

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

22 Junio 2011 / 39 Líneas futuras Usar un Octree: – Niveles 2..6: completos, full grid DeCoro implementado – Niveles 7..N: usando el hash híbrido implementado – Profundidad según: Tamaño de celda mínimo Cantidad de puntos en celda mínimo Memoria disponible Error definido

22 Junio 2011 / 40 Líneas futuras Criterio de simplificación: – Mejor búsqueda del representante óptimo de la celda – Incorporación de atributos: resultados, colores, etc. – Mantener las aristas únicas o vivas del modelo Simplificación de mallas out of core Simplificación de mallas volumétricas Portar el algoritmo a OpenCL o CUDA

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 , "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, "Perfect Spatial Hashing" by Sylvain Lefebvre and Hugues Hoppe, ACM Transactions on Graphics 25, 3 (July), 579–588, "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, , 1997.

22 Junio 2011 / 42 Agradecimientos Profesor Cárlos Andújar CIMNE Amigos y familia

Simplificación de mallas de triángulos