Grupo de Informática Gráfica Avanzada Universidad...

Preview:

Citation preview

Grupo de Informática Gráfica AvanzadaUniversidad de Zaragoza

Superficies de subdivisión

Diego Gutiérrez

Diego Gutiérrez

Indice

IntroducciónSubdivisión por interpolaciónVentajasSubdivisión como convolución de B-splinesPolígonos, NURBS o subdivisión?

Diego Gutiérrez

Introducción

Diego Gutiérrez

Introducción

Geri´s Game (Oscar, 1997):http://www.youtube.com/watch?v=Sfls-KzGybs&feature=related

Diego Gutiérrez

Introducción

Papers publicados en 1978 marcan el comienzo de las superficiesde subdivisión en modelado geométrico

Geri´s Game, a Bug´s Life, Toy Story 2...

Idea original (años 40-50): G. de Rham usa el concepto de corner cutting para redondear curvas

Diego Gutiérrez

Subdivisión por interpolación

La subdivisión es una técnica algorítmica para generar superficies suaves como una secuencia de mallas poligonales refinadas sucesivamente

Diego Gutiérrez

Subdivisión por interpolación

La subdivisión define una curva o superficie como el límite de una secuencia de refinamientos sucesivos

Ejemplo de subdivisión: cada triángulo se subdivide en 4 en cada iteración

Diego Gutiérrez

Subdivisión por interpolación

Los ejemplos hasta ahora se llaman subdivisión por interpolación: los puntos originales se mantienen, y se insertan nuevos

Otros esquemas (basados en splines) insertan puntos nuevos y mueven los viejos

Diego Gutiérrez

Subdivisión por interpolación

Similar en parte a la interpolación típica de ciertas geometríasfractales

Diego Gutiérrez

Subdivisión por interpolación

Ejemplo 1: nuevos vértices se insertan a ¼ y ¾ de la distancia entre los viejos¿Qué curva forma en el límite?

[Reisenfeld75]: B-spline cuadrática uniforme cuyos puntos de control son los de la curva original

Diego Gutiérrez

Subdivisión por interpolación

Ejemplo 2: cada triángulo se divide en 4, con nuevos vértices a ½de la distancia de los viejos

Diego Gutiérrez

Subdivisión por interpolación

Ejemplo 3: De nuevo, cada triángulo se subdivide en 4. Peroahora la posición de cada vértice viene dadpor una combinaciónconvexa de los vérticesoriginales [Loop87]

En el límite, el plano tangente a la superficiees contínuo

Diego Gutiérrez

Subdivisión por interpolación

Ejemplo 4: Extensión del anterior pero incorporando aristas durasen la superficie final [Hoppe et al. 94].

Los vértices originales se “marcan” como pertenecientes a una cara, arista o vértice de la superficie final. En función de esemarcado, se les aplican diferentes reglas de subdivisión

Diego Gutiérrez

Ventajas

Eficiencia: los cáculos sólo dependen de unos pocos puntoscercanos al punto en cuestión

Topología arbitraria: Cualquier número genusCualquier grafo formado por vértices y aristas

Diego Gutiérrez

Subdivisión como convolución de B-splines

Decíamos: otros esquemas (basados en splines) insertan puntos nuevos y mueven los viejos

La mayoría de las técnicas de subdivisión actuales están basadasen una generalización de las curvas B-spline

Diego Gutiérrez

Subdivisión como convolución de B-splines

Las funciones base B(t) se eligen de manera que las curvasresultantes sean siempre contínuas y la influencia de los puntosde control sea local (recordad la explicación sobre Bezier)

B-splines

La forma de asegurar continuidad de grado n es definir polinomiosderivables hasta ese grado (cuanto mayor el orden de los polinomios, mayor la coninuidad que aseguramos)

Diego Gutiérrez

Subdivisión como convolución de B-splines

Empecemos por la más sencilla: piecewise constant

Recordemos qué es la convolución:

Diego Gutiérrez

Subdivisión como convolución de B-splines

Una función base B-spline de grado n puede obtenerse mediantela convolución de la función base de grado n-1 con la función B0

Ejemplo: la B-spline de grado 1 se obtiene mediante la convolución de B0 consigo misma

Diego Gutiérrez

Subdivisión como convolución de B-splines

Diego Gutiérrez

Subdivisión como convolución de B-splines

Esta observación puede convertirse en el núcleo del algoritmo de subdivisión (convolucionando funciones piecewise linear)

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

Antes, este tipo de objetos se modelaban con NURBSLas superficies de subdivisión (subdees) se apoyan en mallaspoligonales en (casi) todos los software 3D

Polígonos vs. NURBS vs. Subdivisión???

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

Polígonos

Crear formas complejas es relativamente sencilloOperaciones booleanas permitidasNo hay límites intrínsecosNecesita almacenar muchos datos para crear superficies complejas

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

NURBS

Poca memoria, fácil cómputoCoordenadas (u,v) inherentesCiertas limitaciones (tangencias, booleanos...)Al igual que el resto de superficies parametrizables, sólo pueden ser topológicamente equivalentes a un plano, cilindro o toro.

PIXAR: los recortes (trimming) son caros y muy sensibles a los errores numéricosPIXAR: Es difícil mantener la suavidad en las interesecciones de parches NURBS cuando se animan

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

Polígonos, NURBS o subdivisión?

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

Subdivisión

Más baratas de almacenar que los polígonosNo requieren trimming para formar toplogías complejasAnimación superior a las NURBS (niveles de continuidad Cn

mayores)Se consigue la facilidad de uso de los polígonos con la suavidad y continuidad de las NURBS

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

Subdivisión

No hay coordenadas (u,v) intrínsecas: la libertad topológica de las superficies de subdivisión hace que no puedan parametrizarse para texturizarlas

Diego Gutiérrez

Introducción

Diego Gutiérrez

Introducción

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

Una mano con subdivisiónLa malla poligonal se usa para texturado

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

Recommended