Curvas y Superficies

Download Report

Transcript 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
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
Idem, convertido a superficie implícita
5
2D, Signed Euclidean Distance Fields
D(A)
+128
A
A
D (A)
D(A) Morphological Domain
0
-127
+128
0
0
-128
6
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
8
Subdivisión del icosahedro = Esfera geodésica (R. Buckminster Fuller)
“Spaceship Earth”, Epcot, Walt Disney World
9
Biosfera de Montreal
Projecto Eden: bioma tropical
Grimshaw Architects, 2001
10
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
(diferentes niveles de refinamiento)
(ver Sierpiński…)
Gráficos tomados de Subdivision.org
13
Subdivisión no uniforme y controlada
14
Subdivisión interpolando normales – transición suave
15
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
Geometrías de Mallado Global para Imágenes de Profundidad de Escenas 3D
18
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
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
22
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 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
Representaciones Paramétricas
Curvas:
x  x(u), x , u 
n
Superficies: x  x(u, v), x , u, v  o: (u, v) 
n
x  x(u),
x ,
n
u 
2
2
Volúmenes: x  x(u, v, w), xn , u, v, w  o: (u, v, w) 3
n
3
x  x(u),
x , u 
etcétera...
Nota: una función vectorial en  de
variable escalar (curva en el espacio)
comprende n funciones escalares
n
 x(u )

x(u )   y (u )
 z (u )
Representaciones Paramétricas
- No son únicas • Una misma Curva/superficie puede tener múltiples
representaciones (diferencias resultan irrelevantes)
x(u)  (u, u)
x(u)  (u , u )
3
3
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 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).
• Escoger un conjunto completo de bases de funciones

o
x(u)   cii (u)
Polinomios, series de Fourier, etc.
i 0
• Truncar el conjunto a un grado razonable, por ejemplo:
3
y(u)   cii (u) 
3
cu
i
i

c

(
u
)

xi
i

• Función representada por el vector (lista) de ci
i 0

3
3

• Las ci pueden ser vectores x(u)  c  (u)   c  (u)


i i
yi i
i 0
 i 30
 c  (u)

zi i

 i 0
i 0
i 0
3
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 de potencas cúbicas?
Por lo pronto asumimos
32
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 de potencas cúbicas?
34
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 de potencas cúbicas?
36
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 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 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 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 y de Bézier:
41
Bézier Cúbico (d=3)
Elementos de la base de funciones Bézier
1.2
1
0.8
0.6
0.4
0.2
0
B0
B1
B2
B3
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
1.2
1
0.8
0.6
x1
x0
0.4
x'1
0.2
0
-0.2
-0.4
x'0
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
45
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 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 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 DeCasteljau
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 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 puntos de control de la curva con otras
curvas
51
Bases de Superficie Hermite
Mas simetrías...
52
Funciones de Superficies Hermite-Hump
Mas simetrías...
53
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.
54
seno  seno
55
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)
f3
f1
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
f2
f4
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
60
Experimento Mental
• Adquisición de formas usando escáners Láser en 3D
o De milliones a miles de millones de puntos
• Imagen típica (del objeto escaneado):
o 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
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.
66
Renderizado
67
From Rusinkiewicz y Levoy, SIGGRAPH 2000.
Renderizado
68
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)
69
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?
70
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: f (pi )  0
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 (inverso de la distancia)
De Shen, et al., SIGGRAPH, 2004.
Mínimos Cuadrados Móviles Implícitos
Mínimos Cuadrados Estándar
73
Interpolación de Mínimos Cuadrados Móviles
Mínimos Cuadrados Móviles
74
Interpolación de Mínimos Cuadrados Móviles
Mínimos Cuadrados
Mínimos Cuadrados
Móviles
Interpolating
Approximating
75
Interpolación de Mínimos Cuadrados
Móviles
Mínimos cuadrados estándar
 b (p1) 
 1 

c   
 T




b
(
p
)

N

N 
T
B Bc  B 
T
T
Interpolación de Mínimos Cuadrados Móviles
Mínimos cuadrados móviles (MLS)
T
w
(
x
,
p
)
b

  (p1) 
 w(x, p1)
  1 
1
c  


 








T
w(x, p N )  b (p N ) 
w(x, p N )  N 


w(r ) 
x
pi
1
(r   )
2
2
B (W (x)) Bc(x)  B (W (x)) 
T
2
T
2
Interpolación de Mínimos Cuadrados Móviles
Mínimos cuadrados
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
80
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 en gráficos para animación
From Mueller, et al., SCA, 2004.
82
83
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.