Curvas de Bézier

Anuncio
Curvas de Bézier
Héctor Navarro
Interpolación Lineal
• Interpolación lineal: sean a,b dos puntos en
2. El conjunto de puntos de la forma
x(t) = (1-t)a + tb, t
definen la línea recta que pasa por a y b. Esta
también es conocida como la ecuación
paramétrica de la recta.
x(t) = (1-t)a + tb = a + t(b-a), t
Interpolación Lineal
x(t) = (1-t)a + tb, t
t=0  x(t)=a
t=1  x(t)=b
t<0  x(t) está “a la izquierda de a”
t>1  x(t) está “a la derecha de b”
0<t<1  x(t) está dentro del segmento a,b
Algoritmo de “de Casteljau”
• De Casteljau (1959) ingeniero de Citroën,
introduce el algoritmo para despliegue de
curvas basadas en puntos de control. No
publicó sus trabajos, pero Bézier
(1966),ingeniero en Peugeot, sí los publicó,
pero basándose en los polinomios de
Bernstein.
Algoritmo de “de Casteljau”
• Dados b0, b1,b2…bn 2, y t[0,1]
• Con r=1..n, i = 0..n-r, bi0 (t )  bi
bir (t )  (1  t )bir 1 (t )  tbir11 (t )
•
•
•
•
Puntos de control = b0, b1,b2…bn
Dichos puntos forman el polígono de control
Grado de la curva = n
n+1 puntos de control
Algoritmo de “de Casteljau”
b
b00
0
1
b
b11
0
1
3
b
b 0
1
0
2
0
b
b01
0
0
b
0
2
b
b30
1
1
b
2
0
2
1
b
3
0
b
r 1
i
b
r 1
i 1
b (t )  (1  t )b (t )  tb
r
i
b30
b
1
2
b12
b20
b21
(t )
r = 1..n, i = 0..n-r
Propiedades de la Curva de Bézier
• Invarianza afín: obtener b0n (t ) y luego aplicar la
transformación afín resulta igual que aplicar
dicha transformación a los puntos de control y
luego evaluar b0n (t ) . Esta propiedad es una
consecuencia del algoritmo de “De Casteljau”
el cual se basa en interpolaciones lineales.
Ellas son invariantes afines, e igualmente una
secuencia de ellas.
Propiedades de la Curva de Bézier
• Invariante ante transformación afín del
parámetro: la curva está definida en t[0,1],
pero podría reparametrizarse el parámetro
por ejemplo para definirse en [a,b],
manteniendo la invarianza afín. Note que el
map de [0,1]  [a,b] es afín.
b (t ) 
r
i
b t
ba
r 1
i
b (t ) 
t a
ba
r 1
i 1
b (t )
Propiedades de la Curva de Bézier
• Cápsula convexa: la curva está dentro de la
cápsula definida por los puntos de control.
Esto se debe a que iterativamente se hace
combinación baricéntrica convexa de puntos
que están dentro de la cápsula convexa, y el
resultado de cada combinación (por ser
convexa) también cae dentro de la cápsula por
definición.
Propiedades de la Curva de Bézier
• Interpolación de puntos extremos: la curva
pasa por los puntos extremos b0 y bn. Se
puede demostrar evaluando los casos t=0 y
t=1.
• Se puede diseñar con curvas de bézier porque
estas “mimetizan” la forma del polígono. Hay
cierto control local.
Subdivisión
La curva de Bézier usualmente está definida
en [0,1]. Pero para un valor t=c, la misma
puede partirse en dos curvas [0,c], [c,1], cuyos
polígonos de control se obtienen del mismo
algoritmo de De Casteljau.
Subdivisión
b
b
b
b
0
1
2
0
0
2
1
1
2
1
b
1
2
b
3
0
b
1
0
b
0
0
b
0
3
b
Subdivisión
0
2
1
1
b
b
0
1
b
2
1
b
1
2
b
2
0
b
3
0
b
1
0
b
0
0
b
b (c), b (c), b (c), b (c)
0
0
1
0
2
0
3
0
0
3
b
Subdivisión
0
2
1
1
b
b
0
1
b
2
1
b
1
2
b
2
0
b
3
0
b
1
0
b
0
0
b
b (c), b (c), b (c), b (c)
3
0
2
1
1
2
0
3
0
3
b
Subdivisión
Cómo saber si se le hace click a una curva?.
Una opción es chequear la distancia del click a
los segmentos discretizados de la curva. O
bien, utilizar recursivamente subdivisión, pues
cada polígono se va semejando más a la curva
mientras más se subdivide.
Elevación de grado
Supongamos que estamos modificando una
curva de grado n. Luego de cierto rato vemos
que no es lo suficientemente flexible para
modelar lo deseado. Una alternativa es
agregar un punto de control más para darle
mayor flexibilidad, pero inicialmente
manteniendo la curva inalterada. Esto es
elevación de grado.
Elevación de grado
• Supongamos una curva de Bézier con N+1
puntos de control P0..PN.
• Elevar el grado de la curva consiste en
encontrar un nuevo conjunto de puntos de
control Q0..QN+1 que genere la misma curva de
Bezier
Elevación de grado
• Primero es obvio que Q0 = P0 y QN+1 = PN
• Luego
Elevación de grado
i
i/(n+1)
1
0.2
2
0.4
3
0.6
4
0.8
Elevación de grado
Elevación de grado
Elevación de grado
Descargar