Curvas de Bézier
Facultad de Cs. de la Computación
Juan Carlos Conde Ramírez
Computer Graphics
Contenido
1
Introducción
2
Polinomios de Bernstein
3
Curvas de Bézier
4
Curvas Compuestas
Contenido
1
Introducción
2
Polinomios de Bernstein
3
Curvas de Bézier
4
Curvas Compuestas
Meta: Formas complejas a partir de curvas 2D
Interpolación de puntos
Se sabe que los polinomios no son buenas herramientas matemáticas para el
problema de interpolación.
Spline cúbicos
Así que si consideramos un spline cúbico como una posible solución tenemos que:
I
Es una curva interpoladora con poca oscilación.
I
Es una curva constituida por trozos de polinomios de tercer grado
I
Es una curva que si se une entre si con continuidad hasta la segunda
derivada puede denir una curva en C
2.
Arcos Polinomiales
La idea de unir sucesivamente arcos polinomiales fue propuesta por:
I
Paul de Casteljau (Citroën, 50's, reporte interno)
I
Pierre Bézier (Renault, 60's, Sistema UNISURF ampliamente publicado)
I
Aplicado en la industria automotriz
Arcos Polinomiales
En esta parte del curso el primer tipo de curva que estudiaremos son las curvas de Bézier.
IDEA
La idea subyacente en una curva de Bézier está en considerar una base especial
del espacio del polinomio que permite una buena interpretación geométrica de
los coecientes de un polinomio cuando se expresan en función de dicha base.
Contenido
1
Introducción
2
Polinomios de Bernstein
3
Curvas de Bézier
4
Curvas Compuestas
Descripción del Polinomio
Base de Bernstein (≈ 1912, Aproximación uniforme a funciones continuas).
Consideremos los polinomios (para n jo):
B
k= n k
!
x
k· ( 1 − x)
n−kcon 0 ≤ k ≤ n (1) donde
n
k
=
k!·(n−k)!n!son los coecientes binomiales
Se denominan polinomios de Bernstein y sólo se denen para x ∈ [0,1]:
Ejemplos
Para n = 1 B
0(x ) = 1 − x B
1(x ) = x
Para n = 2
B
0(x ) = (1 − x)
2B
1(x ) = 2x(1 − x)
B
2(x ) = x
2Ejemplos
Para n = 3
B
0(x ) = ( 1 − x)
3B
1(x ) = 3x(1 − x)
2B
2(x ) = 3x
2(1 − x)
B
3(x ) = x
3Ejemplos
Para n = 4
B
0(x ) = (1 − x)
4B
1(x ) = 4x(1 − x)
3B
2(x ) = 6x
2(1 − x)
2B
3(x ) = 4x
3(1 − x)
B
4(x ) = x
4Contenido
1
Introducción
2
Polinomios de Bernstein
3
Curvas de Bézier
4
Curvas Compuestas
Curvas de Bézier simples I
Cuando un polinomio arbitrario de grado menor o igual que n se expresa como combinación lineal de los polinomios de Bernstein, se denomina curva de Bézier simple o de un tramo.
La representación en forma paramétrica es:
C (t) =
n
X
k=0
P
kB
kx 0 ≤ t ≤ 1 (2)
donde:
P
k≡ (x
k, y
k) si la curva está en <
2P
k≡ (x
k, y
k, z
k) si la curva está en <
3Los coecientes P se denominan puntos de control de la curva de Bézier.
Curvas de Bézier simples II
Para n = 1
C (t) = P
0B
0(t) + P
1B
1(t) = P
0( 1 − t) + P
1(t) (3) C ( 0) = P
0y C(1) = P
1Por lo tanto C(t) es la recta que une los puntos del plano representados por los
coecientes P
0, P
1.
Curvas de Bézier simples III
Para n = 2
C (t) = P
0B
0(t) + P
1B
1(t) + P
2B
2(t) = P
0( 1 − t)
2+ P
12t(1 − t) + P
2(t
2) (4) Análogamente para t = 0 y t = 1:
C (0) = P
0y C(1) = P
2Con lo cual C(t) es la curva que interpola el primer y el tercer punto de control,
es decir, P
0y P
2.
Curvas de Bézier simples III
ACTIVIDAD 1
Partiendo de la ecuación resultante (4) utiliza los puntos:
P
0= (0, 0) P
1= ( 0, 1) P
2= ( 1, 1)
Para encontrar y gracar los puntos intermedios para:
t = 0.15 t = 0.35 t = 0.5 t = 0.65 t = 0.85
Recuerda que para t = 0 y t = 1:
Curvas de Bézier simples IV
Si derivamos la Ec. (4):
C
0(t) = − 2(1 − t)P
0+ 2(1 − 2t)P
1+ 2tP
2De donde:
C
0(0) = 2(P
1− P
0) (5)
C
0( 1) = 2(P
2− P
1)
C
0( 0) y C
0( 1) son respectivamente vectores tangente a la curva C(t) en 0 y en
1, tienen la dirección de los vectores P
1− P
0y P
2− P
1. La curva C(t) es la
tangente a la poligonal que une P
0, P
1, P
2.
Curvas de Bézier simples IV
ACTIVIDAD 2
1. Usando las reglas de derivación básicas (suma, resta, producto, división, potencia) DEMOSTRAR que:
C
0(t) = − 2(1 − t)P
0+ 2(1 − 2t)P
1+ 2tP
2dado que:
C (t) = P
0(1 − t)
2+ P
12t(1 − t) + P
2(t
2)
2. Sabiendo que de C
0(t) con t = 0 y t = 1 se obtienen los 2 VECTORES
tangentes a la curva obtenida con C(t), GRAFICAR con un color diferente
dichos vectores en tu graca obtenida en la actividad anterior.
Curvas de Bézier simples V
Para n = 3
C (t) = P
0B
0(t) + P
1B
1(t) + P
2B
2(t) + P
3B
3(t) (6) C (t) = P
0(1 − t)
3+ P
13t(1 − t)
2+ P
23t
2(1 − t) + P
3(t
3)
Análogamente para t = 0 y t = 1:
C ( 0) = P
0y C(1) = P
3Curvas de Bézier simples VI
I
Es fácil imaginar el efecto de mover alguno de los puntos de control (lo que equivale a cambiar los coecientes de la curva polinomial C(t) respecto de la base de Bernstein.
I
Los polinomios de Bernstein B
k(t) cuentan con propiedades importantes en el intervalo [0,1].
I
Dichas propiedades se transeren a las curvas de Bézier simples.
Curvas de Bézier simples VI
I
Es posible denir una curva de Bézier en cualquier intervalo [a,b] mediante un cambio de variable afín.
C (s) = ~
n
X
k=0
P
kB
ks − a b − a
a ≤ s ≤ b (7)
I
donde t =
s−a
b−a
, vericamos que 0 ≤ t ≤ 1 tal que:
para s = a obtenemos t = 0 para s = b obtenemos t = 1
I
Es claro que esta curva y la denida en la ecuación (2) son idénticas. Es
una reparametrización, aún dejando una curva invariable, no ocurre lo
Contenido
1
Introducción
2
Polinomios de Bernstein
3
Curvas de Bézier
4
Curvas Compuestas
Curvas de Bézier compuestas I
Una curva de Bézier simple es un polinomio (en cada componente) expresado en la base de Bernstein.
Presenta importantes propiedades geométricas relacionadas con la forma de la curva con sus coecientes o puntos de control.
Sin embargo, algunas deciencias estudiadas en la interpolación lineal se pre- sentan a menudo en su uso:
Se requiere un elevado grado de los polinomios para generar formas más complejas
−→ Presenta problemas numéricos (oscilación)
Curvas de Bézier compuestas II
SOLUCIÓN: pegar sucesivamente varias curvas de Bézier simples de bajo grado (generalmente 2 o 3) para constituir una curva de Bézier compuesta.
I
Consideremos en primer lugar la composición de dos curvas de Bézier desde un punto de vista geométrico.
I
Sean P
0, P
1,... ,P
npuntos de control para la primera curva y Q
0, Q
1,... ,
Q
nlos de la segunda curva, donde n no necesariamente es igual.
Curvas de Bézier compuestas III
Por analogía es de suponerse que la primera curva se obtendrá de la interpolación entre P
0y P
ny la segunda entre Q
0y Q
nPor tanto si queremos que la curva compuesta sea continua la condición es:
P
n= Q
0(8)
Curvas de Bézier compuestas IV
Como es de suponerse deseamos que la curva compuesta tenga un cierto grado de suavizado.
PROPIEDAD: Vector tangencial a la curva de Bézier en sus puntos extremos está dado por:
T ~
0= C
0(0) = n(P
1− P
0) T ~
1= C
0(1) = n(P
n− P
n−1)
Geométricamente, lo importante es que el vector tangente a la primera curva en
P
ntenga la dirección de P
n− P
n−1, mientras que el vector tangente a la segunda
curva tenga la dirección Q
1− Q
0= Q
1− P
n.
Curvas de Bézier compuestas V
Por lo tanto, una condición necesaria y suciente para que la tangente sea
continua entre la unión de dos curvas es que el punto Q
1debe estar alineado
con P
n−1y P
n= Q
0.
Curvas de Bézier compuestas VI
OBSERVACIONES:
I
La derivada de la suma compuesta no tiene porque ser continua, es decir, la construcción sólo garantiza continuidad de la dirección del vector tangente, pero no del propio vector.
I