30
Grupo de Informática Gráfica Avanzada Universidad de Zaragoza Superficies de subdivisión Diego Gutiérrez

Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Grupo de Informática Gráfica AvanzadaUniversidad de Zaragoza

Superficies de subdivisión

Diego Gutiérrez

Page 2: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Indice

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

Page 3: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Introducción

Page 4: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Introducción

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

Page 5: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 6: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 7: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 8: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 9: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Subdivisión por interpolación

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

Page 10: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 11: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 12: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 13: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 14: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 15: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 16: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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)

Page 17: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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:

Page 18: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 19: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Subdivisión como convolución de B-splines

Page 20: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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)

Page 21: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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???

Page 22: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 23: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 24: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

Polígonos, NURBS o subdivisión?

Page 25: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 26: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

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

Page 27: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Introducción

Page 28: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Introducción

Page 29: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Polígonos, NURBS o subdivisión?

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

Page 30: Grupo de Informática Gráfica Avanzada Universidad …webdiis.unizar.es/~diegog/ficheros/teaching/subdees.pdfLas funciones base B(t) se eligen de manera que las curvas resultantes

Diego Gutiérrez

Polígonos, NURBS o subdivisión?