Computacin Grfica 12 Curvas y Superficies Temario Representaciones

  • Slides: 87
Download presentation
Computación Gráfica 12 Curvas y Superficies

Computación Gráfica 12 Curvas y Superficies

Temario Representaciones de curvas y de superficies Splines y otras bases polinomial Puntos 2

Temario Representaciones de curvas y de superficies Splines y otras bases polinomial Puntos 2

Representaciones Geométricas Geometría Sólida Constructiva (Constructive Solid Geometry CSG) – operadores booleanos (o de

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 3

Representaciones Geométricas Objeto construído mediante CSG convertido a polígonos 4

Representaciones Geométricas Objeto construído mediante CSG convertido a polígonos 4

Idem, convertido a superficie implícita 5

Idem, convertido a superficie implícita 5

2 D, Signed Euclidean Distance Fields A A D (A) +128 D (A )

2 D, Signed Euclidean Distance Fields A A D (A) +128 D (A ) D Morphological (A ) D(A) Domain 0 -127 +128 0 0 -128 6

Geometry representaciónes Operadores de CSG aplicados a superficies implícitas 7

Geometry representaciónes Operadores de CSG aplicados a superficies implícitas 7

Representaciones Geométricas Descripciones de superficies basadas en puntos Ohtake, et al. , SIGGRAPH 2003

Representaciones Geométricas Descripciones de superficies basadas en puntos Ohtake, et al. , SIGGRAPH 2003 8

Subdivisión del icosahedro = Esfera geodésica (R. Buckminster Fuller) “Spaceship Earth”, Epcot, Walt Disney

Subdivisión del icosahedro = Esfera geodésica (R. Buckminster Fuller) “Spaceship Earth”, Epcot, Walt Disney World 9

Biosfera de Montreal rojecto Eden: bioma tropical Grimshaw Architects, 2001 10

Biosfera de Montreal rojecto Eden: bioma tropical Grimshaw Architects, 2001 10

Proyecto “Houston Dome” (Discovery Channel ) 11

Proyecto “Houston Dome” (Discovery Channel ) 11

Representaciones Geométricas Subdivisión de superficie Catmull-Clark de un cubo 12

Representaciones Geométricas Subdivisión de superficie Catmull-Clark de un cubo 12

Representaciones Geométricas Subdivisión de superficie (diferentes niveles de refinamiento) (ver Sierpiński…) Gráficos tomados de

Representaciones Geométricas Subdivisión de superficie (diferentes niveles de refinamiento) (ver Sierpiński…) Gráficos tomados de Subdivision. org 13

Subdivisión no uniforme y controlada 14

Subdivisión no uniforme y controlada 14

Subdivisión interpolando normales – transición suave 15

Subdivisión interpolando normales – transición suave 15

IPCYL: Image Processing of Cylindrical Range Data Jorge Márquez Flores, Isabelle Bloch and Francis

IPCYL: Image Processing of Cylindrical Range Data Jorge Márquez Flores, Isabelle Bloch and Francis Schmitt Jorge Márquez - 16

Combining Voxel Grid Data and Mesh Model

Combining Voxel Grid Data and Mesh Model

eometrías de Mallado Global para Imágenes de Profundidad de Escenas 3 18

eometrías de Mallado Global para Imágenes de Profundidad de Escenas 3 18

Subdivisión de superficie Carpeta de Sierpiński – Subdivisión recursiva de un triángulo (en este

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 3 D) 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)

Combinando dos resoluciones en un solo mallado Euleriano (a la derecha, ídem pero triangular)

Anidamiento de mallas en tres resoluciones

Anidamiento de mallas en tres resoluciones

Construcción de mallados triangulares a partir de un campo escalar o binario: Marching Cubes

Construcción de mallados triangulares a partir de un campo escalar o binario: Marching Cubes Voxeles dentro del objeto Cada configuración de mallado de la superficie ‘s determina un “parche” del 22

CONSTRUCTION OF A MODEL OF THE HIGH GASTROINTESTINAL SYSTEM FOR THE SIMULATION OF UPPER

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 23

Representaciones Geométricas Ventajas y desventajas Facilidad de uso para diseño Facilidad y rapidez para

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 24

Modelado de superfices mediante mallados poligonales n 25

Modelado de superfices mediante mallados poligonales n 25

Representaciones Paramétricas Curvas: Superficies: Volúmenes: etcétera. . . Nota: una función vectorial en de

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

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

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: ó: 28

Discretización Curvas arbitrarias tienen un incontable número de parámetros i. e. se especifican valores

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). 29

Discretización • Curvas arbitrarias tienen un incontable número de parámetros, formando un contínuo (espectro).

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

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 31

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas? Por lo pronto asumimos 32

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas? 33

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas? 34

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas? 35

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas? 36

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base de potencas cúbicas? Base de funciones de Hermite 37

Especificando una Curva Dados valores deseados (constricciones) cómo determinar Los coeficientes para una base

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 38

Base de Hermite Curva especificada por Valores de puntos esquina (end-points) Tangentes en dichos

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 39

Bézier Cúbico Similar a Hermite, pero especificando las tangentes indirectamente Nota: todos los puntos

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. 40

Bézier Cúbico Similar a Hermite, pero especificando las tangentes indirectamente Relación entre coeficientes polinomiales

Bézier Cúbico Similar a Hermite, pero especificando las tangentes indirectamente Relación entre coeficientes polinomiales y de Bézier: 41

Bézier Cúbico (d=3) Elementos de la base de funciones 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

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

Superficies con Base de Polinomios Bézier

Cambiando Bases de potencias, de Hermite y de Bézier son sólamente polinomios cúbicos Las

Cambiando 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 45

Propiedades utiles de una base Convex Hull (Carcasa convexa) Todos los puntos en curva

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 46

Propiedades utiles de una base Invariancia bajo clases de transformaciones Transformar curvas es lo

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. . . 47

Propiedades utiles de una base Soporte local Cambiar UN punto de control Punto tiene

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 48

Evaluación de De. Casteljau Un esquema de evaluación geométrica para Bézier 49

Evaluación de De. Casteljau Un esquema de evaluación geométrica para Bézier 49

Uniendo Si se cambian a, b, o c hay que cambiar los demás Pero

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* 50

Superficies de Productos Tensor Superficie es una curva barrida a través del espacio Remplazar

Superficies de Productos Tensor Superficie es una curva barrida a través del espacio Remplazar puntos de control de la curva con otras curvas 51

Bases de Superficie Hermite Mas simetrías. . . 52

Bases de Superficie Hermite Mas simetrías. . . 52

Funciones de Superficies Hermite-Hump Mas simetrías. . . 53

Funciones de Superficies Hermite-Hump Mas simetrías. . . 53

Imágenes de una base de funciones armónicas en 2 D (seno seno) A través

Imágenes de una base de funciones armónicas en 2 D (seno seno) A través de estas funciones armónicas 2 D se generan campos de desplazamiento que modelan la distorsión que se obtienen en las imágenes. 54

seno 55

seno 55

Parches-Spline de Coons bilinearmente mezclados (blended) usando Lifting ortogonal 4 perfiles (lados) f 1

Parches-Spline de Coons bilinearmente mezclados (blended) usando Lifting ortogonal 4 perfiles (lados) f 1 (x 1, y) f 2 (x 2, y) f 3 (x, y 1) f 4 (x, y 2) f 3 f 1 p 1 = f 1(x 1, y 1) = f 3(x 1, y 1) p 2 = f 2(x 2, y 1) = f 3(x 2, y 1) p 3 = f 1(x 2, y 1) = f 4(x 2, y 1) p 4 = f 2(x 2, y 2) = f 4(x 2, y 2) pd = pa + pb – pc pd f 1 f 3 … Interpolación Bilineal f 2 f 4

Superficie Interpolada del Cráneo Usando Parches del Spline de Coons

Superficie Interpolada del Cráneo Usando Parches del Spline de Coons

En 3 D hay Puntos y Polígonos de Control Punto de control Polígono de

En 3 D hay Puntos y Polígonos de Control Punto de control Polígono de control

NURBS

NURBS

Representaciones por Puntos 60

Representaciones por Puntos 60

Experimento Mental Adquisición de formas usando escáners Láser en 3 D De milliones a

Experimento Mental Adquisición de formas usando escáners Láser en 3 D 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

“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

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

Renderizado Algoritmo “QSplat” Construir árbol jerárgico de los puntos Cubrir con esferas un estimado

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. 64

Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000. 65

Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000. 65

Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000. 66

Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000. 66

Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000. 67

Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000. 67

Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000. 68

Renderizado From Rusinkiewicz y Levoy, SIGGRAPH 2000. 68

Definiendo una Superficie Dos métodos relacionados La superficie es como un “punto atractor” Superficies

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) 69

Superficies de Conjuntos de Puntos (Point-Set surfaces) La superficie es el atractor de un

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. 70

Mínimos Cuadrados Móviles Implícitos Definir una función escalar que es cero cuando pasa a

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. 71

Mínimos Cuadrados Móviles Implícitos La función es cero en la frontera Decrece hacia afuera

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 73

Mínimos Cuadrados Móviles Implícitos Mínimos Cuadrados Estándar 73

Interpolación de Mínimos Cuadrados Móviles 74

Interpolación de Mínimos Cuadrados Móviles 74

Interpolación de Mínimos Cuadrados Móviles Interpolating Approximating 75

Interpolación de Mínimos Cuadrados Móviles Interpolating Approximating 75

Interpolación de Mínimos Cuadrados Móviles Mínimos cuadrados estándar

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) x pi

Interpolación de Mínimos Cuadrados Móviles Mínimos cuadrados móviles (MLS) x pi

Interpolación de Mínimos Cuadrados Móviles Mínimos cuadrados móviles Interpolando Aproximando

Interpolación de Mínimos Cuadrados Móviles Mínimos cuadrados móviles Interpolando Aproximando

Operaciones de Edición Una función implícita puede: Combinarse con operaciones booleanas Deformarse “Trasladarse” Componerse

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 80

Operaciones de Edición Ohtake, et al. , SIGGRAPH 2003 80

Operaciones de Edición Ohtake, et al. , SIGGRAPH 2003 81

Operaciones de Edición Ohtake, et al. , SIGGRAPH 2003 81

Simulación Basada en Puntos MLS originados en la literatura de Ing. mecánica Uso natural

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. 82

83

83

Non-uniform, rational B-spline (NURBS) is a mathematical model commonly used in computer graphics for

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

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.