Computación Gráfica 12 Curvas y Superficies
Temario Representaciones de curvas y de superficies Splines y otras bases polinomial Puntos
Representaciones Geométricas Geometría Sólida Constructiva (Constructive Solid Geometry CSG) – operadores booleanos (o de conjunto Representaciones Paramétricas Polígonos - mallados Subdivision de superficies Superficies Implícitas Superficies basadas en puntos
Representaciones Geométricas Objeto construído mediante CSG convertido a polígonos
Idem, convertido a superficie implícita
D(A) Morphological Domain 2D, Signed Euclidean Distance Fields D(A) D(A) +128 -127 A A D(A) Morphological Domain +128 -128
Geometry representaciónes Operadores de CSG aplicados a superficies implícitas
Representaciones Geométricas Descripciones de superficies basadas en puntos Ohtake, et al., SIGGRAPH 2003
Subdivisión del icosahedro = Esfera geodésica (R. Buckminster Fuller) “Spaceship Earth”, Epcot, Walt Disney World
Projecto Eden: bioma tropical Biosfera de Montreal Projecto Eden: bioma tropical Grimshaw Architects, 2001
Proyecto “Houston Dome” (Discovery Channel )
Representaciones Geométricas Subdivisión de superficie Catmull-Clark de un cubo
Representaciones Geométricas Subdivisión de superficie (diferentes niveles de refinamiento) (ver Sierpiński…) Gráficos tomados de Subdivision.org
Subdivisión no uniforme y controlada
Subdivisión interpolando normales – transición suave
Jorge Márquez - IPCYL: Image Processing of Cylindrical Range Data Jorge Márquez Flores, Isabelle Bloch and Francis Schmitt Jorge Márquez -
Combining Voxel Grid Data and Mesh Model
Geometrías de Mallado Global para Imágenes de Profundidad de Escenas 3D
Subdivisión de superficie Carpeta de Sierpiński – Subdivisión recursiva de un triángulo (en este caso no produce un mallado Euleriano – ver abajo) Otras aplicaciones de la subdivisión recursiva: voxelización de un mallado arbitrario (Derecha: ejemplo a dos órdenes de subdivisión) Nota: la subdivisión que presentan los cuadtrees (u octrees en 3D) no es Euleriana, pero no es el mallado de ninguna superficie; es una representación de árbol compacta de ocupación espacial.
Combinando dos resoluciones en un solo mallado Euleriano (a la derecha, ídem pero triangular)
Anidamiento de mallas en tres resoluciones
Voxeles dentro del objeto Construcción de mallados triangulares a partir de un campo escalar o binario: Marching Cubes Voxeles dentro del objeto Cada configuración de ‘s determina un “parche” del mallado de la superficie
Marching-cubes segmentation CONSTRUCTION OF A MODEL OF THE HIGH GASTROINTESTINAL SYSTEM FOR THE SIMULATION OF UPPER ENDOSCOPY PROCEDURES Alfonso Gastelum, Lucely Mata Castro, Jorge Márquez Marching-cubes segmentation
Representaciones Geométricas Ventajas y desventajas Facilidad de uso para diseño Facilidad y rapidez para renderizado Simplicidad Suavidad Detección de colisiones Flexibilidad (en muchos sentidos) Adecuadas para simulaciones Costo en memoria No adecuadas para objetos complejos Difícil usar Ray Tracing en algunos casos No funcionan bien con objetos muy irregulares
Modelado de superfices mediante mallados poligonales
Representaciones Paramétricas Curvas: Superficies: Volúmenes: etcétera... Nota: una función vectorial en de variable escalar (curva en el espacio) comprende n funciones escalares
Representaciones Paramétricas - No son únicas - Una misma Curva/superficie puede tener múltiples representaciones (diferencias resultan irrelevantes)
Geometría Diferencial Simple Tangente a una curva Tangentes a superficie Normal a una superficie También: curvatura, normales de una curva, vector bi-normal de una curva, etcétera... Casos degenerados: ó: Draw examples of degeneracies on board, Curva was shown in last slide...
Discretización Curvas arbitrarias tienen un incontable número de parámetros i.e. se especifican valores de coeficientes de las funciones en todos los puntos de una línea de números reales (como un espectro contínuo de Fourier).
Discretización Curvas arbitrarias tienen un incontable número de parámetros, formando un contínuo (espectro). Escoger un conjunto completo de bases de funciones Polinomios, series de Fourier, etc. Truncar el conjunto a un grado razonable, por ejemplo: Función representada por el vector (lista) de Las pueden ser vectores
Bases polinomiales Bases de potencias Los elementos de son linealmente independientes, i.e. no es buena aproximación Si no se consideran varios aspectos se obtienen resultados mediocres, por ejemplo una rigidez extraña
Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas? Por lo pronto asumimos
Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas?
Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas?
Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas?
Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas?
Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas? Base de funciones de Hermite
Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas? Probably not a scale. Base de funciones de Hermite
Base de Hermite Curva especificada por Valores de puntos esquina (end-points) Tangentes en dichos puntos (derivadas) Intervalo de parámetros arbitrario (casi siempre) No es necesario recalcular las bases de funciones Hermite cúbico Puede construirse para cualquier grado impar Derivadas en los puntos esquina o finales
Bézier Cúbico Similar a Hermite, pero especificando las tangentes indirectamente Nota: todos los puntos de control son puntos en el espacio, no tangentes.
Bézier Cúbico Similar a Hermite, pero especificando las tangentes indirectamente Relación entre coeficientes polinomiales y de Bézier:
Bézier Cúbico (d=3) Elementos de la base de funciones Bézier
Funciones Base (o base de funciones) Un punto en una curva de Hermite se obtiene multiplicando cada punto de control por una función y sumando todo Las funciones constituyendo una base de funciones
Superficies con Base de Polinomios Bézier
Cambiando Bases Bases de potencias, de Hermite y de Bézier son sólamente polinomios cúbicos Las tres bases generan el mismo espacio Como ejes diferentes en Cambios de base
Propiedades utiles de una base Convex Hull (Carcasa convexa) Todos los puntos en curva quedan dentro de la caracasa convexa de los puntos de control La base de Bézier tiene la propiedad de carcasa convexa
Propiedades utiles de una base Invariancia bajo clases de transformaciones Transformar curvas es lo mismo que transformar puntos de control Base de Bézier invariante para transformaciones afines Base de Bézier NO es invariante para transformaciones de perspectiva NURBS (Non-Uniform Rational Bézier Splines) son en extremo difíciles...
Propiedades utiles de una base Soporte local Cambiar UN punto de control Punto tiene poco impacto en toda la curva Reglas de subdivisión muy convenientes Esquema de evaluación rápido Interpolación -vs- aproximación
Evaluación de DeCasteljau Un esquema de evaluación geométrica para Bézier
Uniendo Si se cambian a, b, o c hay que cambiar los demás Pero si se cambian a, b, o c no se tienen cambios más allá de esos tres. *Soporte Local*
Superficies de Productos Tensor Superficie es una curva barrida a través del espacio Remplazar puntos de control de la curva con otras curvas
Bases de Superficie Hermite Mas simetrías...
Funciones de Superficies Hermite-Hump Mas simetrías...
Imágenes de una base de funciones armónicas en 2D (seno seno) A través de estas funciones armónicas 2D se generan campos de desplazamiento que modelan la distorsión que se obtienen en las imágenes.
seno seno
Interpolación Bilineal Parches-Spline de Coons bilinearmente mezclados (blended) usando Lifting ortogonal 4 perfiles (lados) f1 (x1,y) f2 (x2,y) f3 (x,y1) f4 (x,y2) f1 f3 f2 f4 p1 = f1(x1,y1) = f3(x1,y1) p2 = f2(x2,y1) = f3(x2,y1) p3 = f1(x2,y1) = f4(x2,y1) p4 = f2(x2,y2) = f4(x2,y2) pd = pa + pb – pc pd f1 f3 … Interpolación Bilineal
Superficie Interpolada del Cráneo Usando Parches del Spline de Coons
En 3D hay Puntos y Polígonos de Control Punto de control Polígono de control
NURBS
Representaciones por Puntos
Experimento Mental Adquisición de formas usando escáners Láser en 3D De milliones a miles de millones de puntos Imagen típica (del objeto escaneado): A lo mucho algunos milliones de pixels (v.g. 20482) ¡Más puntos que pixeles para representarlos...!
“Gráficos basados en puntos (point-based)” Superficies representadas sólo por puntos Quizás incluyendo normales SIN topología (=relaciones de conectividad) ¿Cómo realizar…? Renderizado (condicionamiento, transfos y despliegue) Operaciones de modelado, texturas, materiales, etc. Simulación (interacciones, deformaciones, animación)
Renderizado Para cada punto pintar una manchita (“splat”) Usar normales asociadas para sombreado Aplicar (quizás) textura Si los “splats” son más pequeños que el espaciamiento entre ellos, se producen agujeros (gaps). Y al contrario, el “splatting” de demasiados puntos es ineficiente (hay traslape o repetición). Ohtake, et al., SIGGRAPH 2003
From Rusinkiewicz y Levoy, SIGGRAPH 2000. Renderizado Algoritmo “QSplat” Construir árbol jerárgico de los puntos Cubrir con esferas un estimado tamaño de racimos (clusters) Renderizar los racimos basándose en el tamaño de la pantalla Usar las normales de los racimos para nodos internos From Rusinkiewicz y Levoy, SIGGRAPH 2000.
From Rusinkiewicz y Levoy, SIGGRAPH 2000. Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000.
From Rusinkiewicz y Levoy, SIGGRAPH 2000. Renderizado Choices for splat shape. We show a scene rendered using squares, circles, y Gaussians as splat kernels. In the top row, each image uses the same recursion threshold of 20 pixels. Relative a squares, circles take roughly twice as long a render, y Gaussians take approximately four times as long. The Gaussians, however, exhibit significantly less aliasing. In the bottom row, the threshold for each image is adjusted a produce the same rendering time in each case. According a this criterion, the square kernels appear a offer the highest quality. From Rusinkiewicz y Levoy, SIGGRAPH 2000.
From Rusinkiewicz y Levoy, SIGGRAPH 2000. Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000.
From Rusinkiewicz y Levoy, SIGGRAPH 2000. Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000.
Definiendo una Superficie Dos métodos relacionados La superficie es como un “punto atractor” Superficies como conjuntos de puntos (point-set) Superficie Implícita Partición multi-nivel de implícitas unitarias Mínimos cuadrados móviles (MLS) implícitos (IMLS = Implicit Moving Least-Squares)
Superficies de Conjuntos de Puntos (Point-Set surfaces) La superficie es el atractor de un proceso de proyección iterado Hallar puntos cercanos Ajustar un plano (ponderado) Proyectar en el plano Repetir (iterar) ¿Converge? ¿Cómo ponderar los puntos? From Amenta y Kil, SIGGRAPH 2004.
Mínimos Cuadrados Móviles Implícitos Definir una función escalar que es cero cuando pasa a través de todos los puntos: Puntos muestra Vectores normales From Shen, et al., SIGGRAPH, 2004.
Mínimos Cuadrados Móviles Implícitos La función es cero en la frontera Decrece hacia afuera (inverso de la distancia) De Shen, et al., SIGGRAPH, 2004.
Mínimos Cuadrados Móviles Implícitos Mínimos Cuadrados Estándar
Interpolación de Mínimos Cuadrados Móviles
Interpolación de Mínimos Cuadrados Móviles Interpolating Approximating
Interpolación de Mínimos Cuadrados Móviles Mínimos cuadrados estándar
Interpolación de Mínimos Cuadrados Móviles Mínimos cuadrados móviles (MLS) pi x
Interpolación de Mínimos Cuadrados Móviles Interpolando Aproximando
Operaciones de Edición Una función implícita puede: Combinarse con operaciones booleanas Deformarse “Trasladarse” Componerse y más... Ohtake, et al., SIGGRAPH 2003
Operaciones de Edición Ohtake, et al., SIGGRAPH 2003
Operaciones de Edición Ohtake, et al., SIGGRAPH 2003
Simulación Basada en Puntos MLS originados en la literatura de Ing. mecánica Uso natural en gráficos para animación From Mueller, et al., SCA, 2004.
Non-uniform, rational B-spline (NURBS) is a mathematical model commonly used in computer graphics for generating and representing curves and surfaces • The control points determine the shape of the curve.
A subdivision surface is a method of representing a smooth surface via the specification of a coarser polygon mesh. • A Refinement Scheme is then applied to this mesh. • This process takes that mesh and subdivides it, creating new vertices and new faces.