POINT-BASED GRAPHICS
description
Transcript of POINT-BASED GRAPHICS
POINT-BASED GRAPHICS
LUIS NAVARRO 07-41268JESUS GOUVEIA 06-39661
Introducción Las primitivas de puntos han experimentado
un renacimiento en los últimos años y las investigaciones han ido dirigidas hacia una
representación eficiente, modelado y procesamiento.
En los últimos cinco años el crecimiento ha ido en incremento.
Las principales razones que conllevan a esto son:
-Aumento drástico en la complejidad de la representación poligonal para modelos de computación gráfica. Además de esto, los gastos generales en procesamiento y manipulación de la información de la malla poligonal, ha llevado a cuestionar la utilidad futura de los polígonos como gráficos primitivos fundamentales.
-Por otro lado fotografía digital y el escaneo 3D generan grandes volúmenes de puntos que constituyen componentes básicos de la geometría discreta del objeto 3D y su apariencia y píxeles son los elementos digitales de la imagen.
Introducción
Polígonos, Ventajas y DesventajasConcepto matemático rigurosoRobusta evaluación de entidades geométricasForma de control de formas suaves
x Requiere una parametrización adecuadax Discontinuidad del modeladox Flexibilidad topológica
Primitivas geométricas simples y representación eficienteHardware para apoyarloProcesamiento digitalTopología explícitaPrimitiva por excelencia en computación gráfica
x Separación de la geometría y atributosx Dificultad en modelaje sofisticadox Sigue siendo necesaria la parametrización localx Comprensión no trivial
Triángulos, Ventajas y Desventajas
Representación natural de muchos sistemas de adquisición 3DNo hay separación de la geometría y la aparienciaNo hay separación de superficies y volúmenesNo hay necesidad de topología o conectividadNo hay necesidad de parametrización uniforme de la superficie para establecer texturasRepresentaciones orgánicas con mayor facilidad que poligonalmenteFácil representación de luminosidad y opacidad
x No hay conectividad o topología lo cual conlleva a aplicar otras técnicas como interpolación
Entonces, ¿Por qué puntos?
REPRESENTACIÓN
Es el proceso de convertir una nube de puntos que “representa" un objeto en objetos mas específicos como lo es una malla de triángulos, o una colección de parches paramétricos.
Para representar una superficie con puntos, se necesita una nube de puntos lo suficientemente densa, para ello la superficie a representar debe ser bastante clara. En esta área tenemos muchas posibilidades de métodos, dependiendo los mismos de la entrada, salida deseada, disponibilidad de software entre otros.
Reconstrucción de superficies
Representación de una superficie a partir de puntos
Los puntos son la primitiva básica para el renderizado. Sustituimos la nube de puntos por la malla de triángulos.
Los puntos son muestras de la superficie.La nube de puntos se describe como:
•Geometría 3D de la superficie•Propiedad superficie de reflexión (por ejemplo, color difuso, entre otros)
Elementos de la superficieCada punto corresponde a un elemento de superficie, o Surfel, el cual es una descripción de la superficie en un pequeñas secciones
Ejemplo de un Surfel Básico:
BasicSurfel{ position; color;}
Surfel (Elemento de la Superficie)
Sin embargo, se presenta una problema importante para la representación de la superficie, y es ¿cómo conectamos los puntos?, es decir, ¿cómo representamos los espacios que hay entre punto y punto?
• Los Surfels necesitan interpolar la superficie que hay entre los puntos• Una superficie concreta es asociada a cada Surfel
• Los Surfels se pueden ampliar mediante el almacenamiento de atributos adicionales• Esto permite mayor calidad y más avanzados efectos de sombreado
Los atributos que se adicionan en la representación del modelo son por ejemplo:
Normal.Radio del SurfelEntre otros…
Surfel (Elemento de la Superficie)
Adquisición de los modelos (Nube de puntos)
•Escaneo 3D de objetos físicos•Muestreo de objetos sintéticos
SUPERFICIES A PARTIR DE MUESTREO DE PUNTOS (PSS)
Algunos conceptos…
Aproximación: Datos ruidosos. La superficie no se adapta a la perfección a los puntos
Interpolación: Datos perfectos, la superficie se adapta a los puntos de manera exacta
Aproximación Global
Aproximación Local
La localidad permite suavidad y un ajuste más certero
Algunos conceptos…
• Mínimos cuadrados• Traslado de mínimos cuadrados• Funciones de base radial
Principales Técnicas usadas
•Bordes o esquinas fuertes o agudos
•Ruido o tamaño de las características
Problemas Típicos
•Técnicas estándar son aplicables si los datos representan una función
•Múltiples son más generales
Funcionales / Múltiples
A partir de un conjunto de puntos discretos, se calcula la superficie continua que los mismos representan. Esto se logra una vez aplicada la interpolación de los mismos.
Modelos de superficie
•Distorsión•Expansión•Perdida•Encogimiento
Problemas de los Modelos
•Traslado de mínimos cuadrados esféricosProyección algebraica esféricaMejora de la estabilidadGran velocidad en GPU
•Superficies con un conjunto de puntos algebraicosBaja la densidad de muestreoAproximación mucho más ajustadaGran eficiencia
Soluciones a los problemas
¿Como representar profundidad?¿Cómo podemos representar una esfera a partir de puntos?
Mediante la técnica de forma algebraica de puntos
• Plano de ecuaciones con 3 dimensiones que representen la profundidad de un punto• Se añaden restricciones.
¿Qué se obtiene?
MODELADO
Modelado
• El diseño y edición de los modelos basados en puntos se tornan más interactivos• El modelado de formas, permite el uso de operaciones booleanas y libertar en la formación y deformación.• El modelado de la apariencia permite el uso de técnicas de pintura, texturas y otros.
Modelado
• Crear nuevas formas usando la combinación de otras• Existen aplicaciones que son útiles y flexibles en su edición
Operaciones booleanas
Modelado
• Fácil de realizar representaciones implícitas, pues requieren de cálculo computacional fácil.• Requiere de la intersección entre cada superficie.• La complejidad de la topología dependerá de los modelos de entrada.
Operaciones booleanas
Modelado
• Identificar los pares de puntos que cerraran la figura
•Computar el cierre de los puntos mediante la tangente
• Re-proyectar el punto en ambas curvas
• Iterar
Operaciones booleanasEsquema de Newton
Modelado
• Se representan los puntos de la curva de la intersección entre los dos surfels
Operaciones booleanasRepresentación de los pliegues agudos
Modelado
• Las operaciones booleanas permiten crear formas con topologías complejas
Operaciones booleanas
Modelado
• Puede ser aplicado directamente sobre los puntos de la muestra• La edición resulta intuitiva (metafora de la pintura)
• Se define la región rígida y la región a editar• Se edita usando las herramientas necesarias
Deformaciones
Modelado
• Diferentes deformaciones pueden ser aplicadas• Traslación• Rotación • Efecto de Realzado
Deformaciones
Modelado
• Eliminación de puntos atípicos
Problemas por arreglar
• Eliminación de puntos atípicos
Problemas por arreglar
Criterio del Ajuste Plano
Compara la distancia de la distancia (d) de un punto p al mínimo cuadrado de del plano H promediando las distancias de los puntos
vecinos de H.
Modelado
• Eliminación de puntos atípicos
Problemas por arreglar
Criterio Miniball
Dada una esfera S se aproxima al grupo de vecinos de p.El criterio se compara la distancia p de S con el radio de la esfera.
Modelado
• Eliminación de puntos atípicos
Problemas por arreglar
Criterio del Vecino más cercano
Se representan las cinco relaciones del vecino más próximopara p y de sus cinco vecinos q0,. . . , q4.
Modelado
• Eliminación de puntos atípicos
Problemas por arreglar
Criterio del Vecino más cercanoCriterio del Ajuste Plano
Criterio Miniball
Modelado
•Suavizado y hoyos
Problemas por arreglar
Modelado
Renderizado
Renderizado
• Los puntos son muestras de la superficie• La nube de puntos describe una superficie de una geometría en 3D, la cual refleja sus propiedades• No presenta información adicional sobre la conectividad (información explicita entre los puntos vecinos), ni sobre mapeado de texturas
Refrescando…
• Cada punto corresponde a un elemento de la superficie , llamado surfel.
Refrescando…
BasicSurfel { position; color;}
Renderizado
• Cada punto de la superficie debe ser interpolado entre el resto• Cada área de la superficie está asociado con cada surfel• Estos pueden tener mayor información, lo que permite mayor calidad en el renderizado o en los efectos
Refrescando…
BasicSurfel { position; color; normal; radious; etc…}
Renderizado
• Se realiza a través de un Pipeline• El diseño es simple• Cada punto lleva consigo la información necesaria a través del pipeline• El framebuffer almacena RGB, alpha y Z
Nube de
puntos
Frame-buffer
Proyección Sombreado Visibilidad Reconstrucciónde la imagen
Renderizado
• Se realiza una proyección de la perspectiva de cada punto• Análoga a la proyección de vértices de los triangulos
Nube de
puntos
Frame-buffer
Proyección Sombreado Visibilidad Reconstrucciónde la imagen
Renderizado
• Se realiza el sombreado por cada punto• Se usa los modelos convencionales de sombreados
Nube de
puntos
Frame-buffer
Proyección Sombreado Visibilidad Reconstrucciónde la imagen
Renderizado
• Se desechan los puntos que sean ocultos• Se reconstruyen las superficies continuas a partir de los puntos proyectados
Nube de
puntos
Frame-buffer
Proyección Sombreado Visibilidad Reconstrucciónde la imagen
Renderizado
RenderizadoAntes de pasar por la Visibilidad y
Reconstrucción de la imagen
Luego de pasar por la Visibilidad y Reconstrucción de la imagen
• Evita los hoyos y suferls ocultos• Utiliza los discos con radio r para cubrir completamente la superficie• Aplica el concepto de Z-buffer para descartar las superficies invisibles.
RenderizadoAntes de pasar por la Visibilidad y
Reconstrucción de la imagen
Luego de pasar por la Visibilidad y Reconstrucción de la imagen
• Evita los hoyos y suferls ocultos• Utiliza los discos con radio r para cubrir completamente la superficie• Aplica el concepto de Z-buffer para descartar las superficies invisibles.
Renderizado
PrimitivasRepresentación de cuadros
Rasteriza un color en el cuadrado proyectado
Proyección de Discos
Proyecta una superficie de disco de un objeto en el espacio de la pantallaLos discos son vistos como elipsesLas elipses se adaptan a la orientación de la superficie
Simples, eficientes, baja calidad de imagen, posee soporte de hardware
PrimitivasSplatting
Consiste en colorear un punto de un color primitivo pudiendo aplicar una máscara alpha
El color final es computado con la fusión de la fusión alpha. Es necesaria la normalización del nuevo color, pues el peso no suma uno.
Renderizado
PrimitivasSplatting
Se puede realizar una mayor calidad de esta primitiva, pero requiere de una análisis mayor.
Renderizado
Animación Basada en Física
Animaciones basadas en física• Movimientos Realistas• Interacción
Enfoque basado en puntos para animaciones basadas en física
• Volúmenes basados en puntos – Elementos físicos• Superficies basadas en puntos – Elementos de superficie
Se empieza con un elemento no deformado y se le aplican fuerzas externas.
Partículas físicasEn cada partícula trabajaremos con:• Una posición x en m• m representada en kg• Velocidad en m/s
Leyes de Newton
• Un sistema aislado tiene velocidad constante
• F = m.a
• La fuerza neta aplicada a un sistema aislado es nula, incluso si las fuerzas internas se aplican. Su centro de masa tiene trayectoria lineal.
Aceleración en m/sFuerza en kg.m/s²Una fuerza es capaz de modificar la trayectoria y forma de un objeto
Estructura básica de un programa
initdisplayrepetir:
input (data, acción del usuario)Calcular fuerzasActualizar estadosrepetir:
aplicar restriccionesdisplay
¿Qué podemos lograr?• Desarrollo de videojuegos
¿Qué podemos lograr?• Elementos naturales (Tormentas de Arena)
¿Qué podemos lograr?• Movimiento de líquidos y fluidos
¿Qué podemos lograr?• Rayos (Electricidad)
…muchas gracias