¿POR QUÉ ALGUNAS PERSONAS ELIGEN FRACASAR?, POR AQUILES JULIÁN
Grupo de Informática Gráfica Avanzada Universidad...
Transcript of Grupo de Informática Gráfica Avanzada Universidad...
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?