Anda di halaman 1dari 35

UNIVERSIDAD NACIONAL DE SAN CRIST

OBAL DE
HUAMANGA
FACULTAD DE INGENIER

IA DE MINAS GEOLOG

IA Y
CIVIL
ESCUELA DE FORMACI

ON PROFESIONAL DE
CIENCIAS F

ISICO MATEM

ATICAS
Avance de tesis
Forma de una Curva de Bezier Compuesta cuando se modica
uno de sus puntos de control
CURSO: Iniciacion Cientca (MA-550)
ALUMNO: Rosendo Sa ul Inca Najarro
ASESOR: Lic. Juan Pablo Valverde Cueva.
AYACUCHO -PER

U
2012

Indice general
INTRODUCCI

ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
1. Representacion de Curvas 1
1.1. Representaci on de Curvas . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Espacios Vectoriales de Funciones . . . . . . . . . . . . . . . . . . . . . 4
1.2.1. Control local y global de una curva . . . . . . . . . . . . . . . . 5
1.3. Curvas parametricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1. Vector tangente y vector velocidad . . . . . . . . . . . . . . . . 7
1.3.2. El Triedro de Frenet . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3. Continuidad geometrica . . . . . . . . . . . . . . . . . . . . . . 9
2. Interpolaci on 11
2.1. Interpolacion en espacios generales . . . . . . . . . . . . . . . . . . . . 12
2.2. Interpolacion polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1. Unicidad del polinomio de interpolacion . . . . . . . . . . . . . 13
2.3. Error en la interpolacion polinomial . . . . . . . . . . . . . . . . . . . . 15
2.4. Problemas con interpolacion polinomial . . . . . . . . . . . . . . . . . . 17
2.4.1. Minimizaci on de la oscilacion . . . . . . . . . . . . . . . . . . . 18
3. Curvas de Bezier 20
3.1. Polinomios de Bernstein . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2. Curvas de Bezier simples . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.1. Propiedades de las curvas de Bezier simples . . . . . . . . . . . 26
i
PROYECTO DE TESIS
I. GENERALIDADES
1.1 Ttulo
Forma de una curva de Bezier compuesta cuando se modica uno de sus puntos de
control.
1.2 Tesista
Rosendo Sa ul Inca Najarro
1.3 Asesor
Lic. Juan Pablo Valverde Cueva
II. PLANTEAMIENTO Y JUSTIFICACI

ON DEL TEMA
Existen tres tecnicas o criterios basicos de modelado de curvas: en la primera de ellas,
denominada interpolacion, se da un conjunto de puntos cuya distribuci on sigue aprox-
imadamente la forma que se desea modelar, y el problema consiste en construir una
curva pasando por todos ellos, uno de los m as conocidos es la interpolaci on de Lagrange.
Un segundo procedimiento es encontrar una curva sin que forzosamente pase por todos
los puntos, sino que esta describa el comportamiento general de los datos, tal es el caso
del ajuste de curvas y un metodo muy conocido es el de los mnimos cuadrados. Final-
mente si el problema es trazar una curva suave desde un punto inicial hasta un punto
nal, y que esta sea afectada en su trayectoria por un conjunto de puntos que describen
un polgono de apoyo, entonces el problema puede resolverse con las Curvas de Bezier.
Las llamadas curvas de Bezierdeben su nombre y su origen a Pierre Etienne Bezier
(1910-1999), quien fue ingeniero de Renault durante 42 a nos (de 1931 a 1975). Como
responsable del departamento des methodes mecaniques a principios de la decada de
los sesenta se empieza a preocupar por la utilizacion de herramientas informaticas en
el dise no de carroceras. Las herramientas de CAD (Computer Aided Manufacturing,
que traducido es, dise no asistido por computadora) basadas en polgonos no repre-
sentaban bien las supercies curvas. Bezier logro un metodo facil de usar y a la vez
exacto para describir curvas a partir de cuatro puntos. El sistema se lanzo en 1968
ii
y en 1975 ya estaba en pleno uso. Antes que Bezier dos matem aticos que trabajaban
para Citroen (James Ferguson y Paul de Casteljau) llegaron a los mismos resultados.
Pero sus hallazgos no fueron conocidos hasta mucho m as tarde porque se guardaron
bajo secreto industrial. Las curvas de Bezier son curvas en el plano que quedan deter-
minadas por un conjunto de puntos que marcan su recorrido, aunque estas curvas no
pasan necesariamente por todos los puntos.

Estos forman un ?polgono de control? en
el siguiente sentido: La curva esta contenida en el polgono e imita con cierta libertad
la poligonal que dibujan. Nuestro interes es determinar como la modicaci on de los
puntos de control de una curva de Bezier compuesta inuye en la forma de la curva.
Las curvas Bezier son posiblemente las m as usadas para el dise no de letras o de logoti-
pos. Tambien son usadas frecuentemente en animacion y tienen varias propiedades que
hacen que sean utiles y convenientes para representar formas y supercies de objetos
en la computadora. Asimismo, las curvas de Bezier han sido un elemento clave para el
posterior desarrollo de la informatica gr aca vectorial, tanto en 3D como 2D.
III. OBJETIVO
Determinar la forma de una curva de Bezier compuesta cuando se modica uno de sus
puntos de control.
IV. EXPLICACI

ON DEL M

ETODO DEL TRABAJO


Se utilizara bibliografa especializada y software matem atico para construir curvas de
Bezier y facilitar as su interpretaci on geometrica correspondiente.
V. DESCRIPCI

ON DEL CONTENIDO DEL TRABAJO


CAPITULO I: Representacion de curvas
En este captulo, y a modo de introducci on, revisaremos los conceptos basicos sobre
curvas que son de utilidad para los temas que se desarrollan en el siguiente captu-
lo. Tambien trataremos sobre algunas bases de los espacios vectoriales de funciones y
haremos notar la ventaja de trabajar con curvas parametricas.
iii
CAPITULO II: Interpolaci on
Veremos en forma resumida algunos metodos de interpolacion y los inconvenientes que
presentan para el modelado computacional.
CAPITULO III: Curvas de Bezier
Este captulo esta dedicado al estudio de las curvas de Bezier. Se enuncian e inter-
pretan geometricamente las propiedades de las mismas. Se detalla el Algoritmo de De
Casteljau, en la cual esta basada la manera tradicional de trazar curvas de Bezier. Se
describen las tecnicas basicas para la manipulacion de curvas.
CAPITULO IV: Forma de una curvas de Bezier compuesta al modicar
sus puntos de control.
En este captulo trataremos las curvas de Bezier compuestas. Se detallan las condiciones
para unir dos o m as curvas de Bezier, logrando transiciones suaves, y se determina la
forma de una curva de Bezier cuando se modica uno de sus puntos de control.
iv
INTRODUCCI

ON
Tradicionalmente, el dibujo de objetos con partes curvadas se haba apoyado en las
que podramos denominar curvas analticas, ampliamente estudiadas y para las que
existan procedimientos exactos de dibujo.
Existen tres tecnicas o criterios basicos de modelado de curvas: en la primera de
ellas, denominada interpolacion, se da un conjunto de puntos cuya distribuci on sigue
aproximadamente la forma que se desea modelar, y el problema consiste en construir
una curva pasando por todos ellos, uno de los m as conocidos es la interpolaci on de
Lagrange. Un segundo procedimiento es encontrar una curva sin que forzosamente pase
por todos los puntos, sino que esta describa el comportamiento general de los datos,
tal es el caso del ajuste de curvas y un metodo muy conocido es el de los mnimos
cuadrados. Finalmente si el problema es trazar una curva suave desde un punto inicial
hasta un punto nal, y que esta sea afectada en su trayectoria por un conjunto de
puntos que describen un polgono de apoyo, entonces el problema puede resolverse con
las Curvas de Bezier, las curvas de Bezier nacen debido a la exibilidad requerida por
las nuevas tecnicas industriales que comenzaron a aparecer por el a no de 1960.
Los desarrollos m as importantes se iniciaron en la industria automotriz francesa,con
Pierre de Casteljau en Citroen y el ingeniero Pierre Etiene Bezier este ultimo en Renault
quienes elaboraron el fundamento te orico de los primeros sistemas de aproximacion de
curvas que se sobreponan exitosamente a los problemas tecnicos y geometricos de
los metodos matem aticos de interpolacion de funciones basados en los polinomios de
Lagrange. Esencialmente ambos trabajos coinciden, aunque fueron independientemente
desarrollados. Como Bezier fue el unico que publico sus resultados en el a no 1966, se
llevo todo el credito y la fama. Las curvas de Bezier son curvas en el plano que quedan
determinadas por un conjunto de puntos que marcan su recorrido, aunque estas curvas
no pasan necesariamente por todos los puntos.

Estos forman un polgono de control en
el siguiente sentido: La curva esta contenida en el polgono e imita con cierta libertad la
poligonal que dibujan. Nuestro interes es determinar como la modicaci on de los puntos
de control de una curva de Bezier compuesta inuye en la forma de la curva. Las curvas
v
de Bezier son posiblemente las m as usadas para el dise no de letras o de logotipos.
Tambien son usadas frecuentemente en animacion y tienen varias propiedades que
hacen que sean utiles y convenientes para representar formas y supercies de objetos
en la computadora. Asimismo, las curvas de Bezier han sido un elemento clave para el
posterior desarrollo de la informatica gr aca vectorial, tanto en 3D como 2D.
El trabajo estar a divido en cuatro captulos:
El primer captulo esta dedicado a repasar algunos conceptos basicos de curvas que
son de utilidad para los temas que desarrollan en los captulos posteriores. Trataremos
sobre sobre algunas bases de los espacios vectoriales de funciones y haremos notar la
ventaja de trabajar con curvas parametricas. En el segundo captulo veremos en forma
resumida algunos metodos de interpolacion y los inconvenientes que presentan para el
modelado computacional. El tercer captulo esta dedicado a determinar las curvas de
Bezier, sus propiedades, etc. En el cuarto captulo se determina la forma de una curva
de Bezier cuando se modica uno de sus puntos de control.
vi
Captulo 1
Representaci on de Curvas
En el presente captulo, revisaremos los conceptos basicos que seran de utilidad en
los captulos posteriores.
1.1. Representacion de Curvas
Una curva es la imagen de una funcion contnua F : [a, b] R
3
Es decir, una curva queda denida por el conjunto de putos
{(t, F(t)) : t [a, b]} (1.1)
No existe problema en permitir que el intervalo [a,b] sea innito.
Si los puntos de la imagen de F se expresan en un sistema cartesiano, entonces
cada una de las tres coordenadas vendra dada por una funcion continua (las funciones
componentes):
x = f
1
(t)
y = f
2
(t)
z = f
3
(t)
t [a, b]
(1.2)
y la curva se dice que esta representada parametricamente, o tambien que (1.2) son las
ecuaciones parametricas de la curva. Una curva es plana cuando puede transformarse,
1
mediante una traslacion y una rotacion, en otra con ecuaciones parametricas:
x = g
1
(t)
y = g
2
(t)
z = 0
(1.3)
de modo que sus propieades quedan establecidas realmente a traves de una funcion
continua de un intervalo en R
2
.
Ejemplo 1.1
La curva dada por:
x = cos(t)
y = sen(t)
z = 0
0 t < 2
es una curva plana y su gr aca es una circunferencia de centro (0, 0) en el plano xy y
de radio 1. Figura 1.1
1.5 1 0.5 0 0.5 1 1.5
1.5
1
0.5
0
0.5
1
1.5
Figura 1.1: Graca de: x = cost, y = sent, z = 0, 0 t < 2
que representa a la circunferencia de centro (0, 0) en el plano XY y de radio 1
Sin embargo existen curvas que no son planas, como por ejemplo la helice:
2
x = cos(t)
y = sen(t)
z = t
0 t < 8
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
0
5
10
15
20
25
30
Figura 1.2: Graca de x = cost, y = sent, z = 0, 0 t < 8
Las propiedades analticas de una curva vienen determinadas por las funciones
componentes. Por ello, es frecuente restringir el estudio de estas propiedades al caso en
el que una curva se represente exclusivamente por una funcion de R en R
x = t
y = f(t)
z = 0
t [a, b]
Estas curvas suelen denominarse no parametricas o funcionales y se representan de
forma compacta como:
x = f(t) = f(x) x [a, b]
(1.4)
expresado la segunda coordenada de un punto arbitrario de la curva como funcion
de la primera coordenada. Tambien se dice que (1.4) es una ecuacion explcita de la
curva. Finalmente, en determinados contextos se utiliza una generalizaci on de (1.4) para
representar una curva expresando una relaci on funcional que verican simultaneamente
ambas coordenadas:
F(x, y) = 0 (1.5)
3
Se denomina ecuacion implcita de la curva y es interesante destacar que curvas planas
como la circunferencia s pueden representarse con la relaci on del tipo 1.5:
x
2
+ y
2
1 = 0
1.2. Espacios Vectoriales de Funciones
Una vez denida de forma obvia la suma, resta y producto de dos funciones, as como
la multiplicaci on de un escalar por una funcion, enseguida debemos restringir el espacio
de trabajo a un conjunto de funciones con estructura de espacio vectorial. As, no
nos saldremos del conjunto al operar con las funciones y tambien todas las funciones
del espacio se representaran mediante un conjunto nito de escalares, que seran los
coecientes con respecto a una base:
f(x) = a
1
B
1
(x) + a
2
B
2
(x) + + a
n
B
n
(x)
Entre los espacios vectoriales m as sencillos y a la vez utiles se encuentran los de los
polinomios. Observamos, sin embargo, que el conjunto de todos los polinomios es un
espacio vectorial de dimension innita, por lo que en la pr actica es necesario limitar el
grado m aximo. De este modo, un polinomio se representa usualmente por:
P(x) = a
0
+ a
1
x + a
2
x
2
+ + a
n1
x
n1
+ a
n
x
n
(1.6)
donde a
0
, a
1
, . . . , a
n1
, a
n
son escalares que act uan como coecientes multiplicativos
con respecto a la que se denomina base de potencias:
B = {1, x, x
2
, . . . , x
n1
, x
n
}
Como veremos, aunque la expresion (1.6) es la forma habitual de operar con poli-
nomios; se trata del metodo menos recomendable en la pr actica, debido a la inestabil-
idad numerica que ocurre en la evaluacion del polinomio.
Alguna de las bases m as empleadas son:
1. Base de Lagrange.
4
2. Base de Newton.
3. Base de Bernstein.
4. Funciones polinomiales compuestas.
1.2.1. Control local y global de una curva
Si la curva f(x) esta expresada como combinacion lineal de una base
{B
0
(x), B
1
(x), . . . , B
n
(x)}, esto es,
f(x) = a
0
B
0
(x) + a
1
B
1
(x) + + a
n
B
n
(x)
a los coecientes a
i
se les denomina, en el contexto de modelado, puntos de control.
Para curvas funcionales se interpretan como ordenadas correspondientes a un conjunto
de abscisas x
0
< x
1
< < x
n
que suele estar prejado. De este modo, los puntos del
plano (x
i
, a
i
) forman una poligonal (polgono de control)que dependiendo de la base
utilizada estar a relacionada, en mayor o menor medida, con la propia curva f(x). Un
ejemplo notable lo proporciona la base de Lagrange. Si un polinomio se expresa como
combinacion lineal d esta base:
P(x) = a
0
L
0
(x) + a
1
L
1
(x) + + a
n
L
n
(x)
entonces la curva pasa por los puntos de control (x
i
, a
i
). Por tanto, la modicaci on de
uno de sus coecientes permite en cierto modo intuir la forma que adoptar a la curva.
Aunque la curva interpola a todos los puntos de control, entre cada dos de ellos vara
en relaci on a la curva original. En este caso se dice que la base (de Lagrange) posee
un comportamiento global y los coecientes controlan globalmente la curva. Ahora m as
interesante es el caso de las bases para las cuales la modicaci on de uno de sus puntos
de control se traduce en una variacion local de la curva.
Si ambas curvas las expresamos en funcion de la base:
f
1
(x) = a
0
B
0
(x) + + a
k
B
k
(x) + + a
n
B
n
(x)
f
2
(x) = a
0
B
0
(x) + + a
k
B
k
(x) + + a
n
B
n
(x)
5
donde se ha supuesto que a
k
, a
k
es el unico coeciente distinto, entonces la variacion
entre ellos viene dado por:
f
1
(x) f
2
(x) = (a
k
a
k
)B
k
(x)
Debe resultar obvio que para f
1
(x), f
2
(x) se diferencien solo en un peque no interalo,
la funcion base B
k
(x) ha de ser nula en gran parte de [x
0
, x
n
]
De esta forma en algunos metodos, la curva aproximante experimenta un cambio
localizado si se modica un unico punto de control, mientras que en otros, toda la curva
es modicada. Los primeros metodos tienen, entonces, la propiedad de control local y
los segundos de control global. Ninguna de las dos propiedades es en s mejor que la
otra, sino que depende del tipo de aplicacion.
1.3. Curvas parametricas
La aplicacion
(t) : [a, b] R
3
t (t) = (x(t); y(t); z(t))
que dene la curva se denomina representaci on parametrica de la curva, escrito de otro
modo como:
x = f
1
(t)
y = f
2
(t)
z = f
3
(t)
t [a, b]
Ejemplo 1.2
Un ejemplo de curva parametrizada es la siguiente:
x = sen(t)(e
cos(t)
2cos(4t) sin
5
(
t
12
))
y = cos(t)(e
cos(t)
2cos(4t) sin
5
(
t
12
))
6
Figura 1.3: Curva parametrizada
Una misma curva puede venir denida por distintas funciones de R en R
3
.
Ejemplo 1.3
Tomando (t) = t y (t) = t
3
tenemos dos representaciones esencialmente distintas
para la misma recta:
F
1
: t P
0
+ t(P
1
P
0
)
F
2
: t P
0
+ t
3
(P
1
P
0
)
t (, )
(1.7)
Por tanto, podemos pensar que cuando dos funciones de R en R
3
describen la misma
curva, lo que se esta indicando son dos formas diferentes de recorrer una misma entidad
geometrica.
1.3.1. Vector tangente y vector velocidad
Si la funcion F : [a, b] R
3
es diferenciable para cada t [a, b] entonces se dene
el vector tangente:
T : [a, b] R
3
t [f

1
(t), f

2
(t), f

3
(t)]
(1.8)
Aun si diferentes funciones F denen una misma curva parametrica, el vector tan-
gente correspondiente al mismo punto de R
3
tiene siempre identica direcci on, siempre
y cuando las funciones F sean diferenciables y el vector tangente no sea nulo.
7
Cuando el par ametro t se asocia al tiempo el vector tangente suele denominarse
vector velocidad, indicando entonces el cambio de un punto que se mueve a lo largo de
la curva.
Una misma curva puede denirse mediante funciones diferentes. En efecto, si F
1
:
R R
3
y F
2
: R R
3
representan geometricamente una unica curva, debemos con-
siderar que F
1
y F
2
establecen dos formas diferentes de moverse a lo largo de ella.
Ejemplo 1.4
Por ejemplo una recta, si utilizamos la expresion (1.8):
T
1
(P
1
P
0
)
T
2
3t
2
(P
1
P
0
)
y vemos que la misma recta que recorre con vector velocidad constante e igual a P
1
P
0
,
mientras que con la segunda representaci on la velocidad tiene siempre la direcci on de
P
1
P
0
, pero decrece en m odulo para t (, 0) hasta llegar a velocidad nula para
t = 0 y a continuacion, aumenta en m odulo para t (0, )
1.3.2. El Triedro de Frenet
Sea la funcion F : [a, b] R
3
que supondremos dos vectores diferenciable y con un
vector tangente V (t) = F

(t) no nulo t [a, b].


La derivada de V(t) con respecto a t se denomina aceleracion y mide la variacion,
en m odulo y direccion, del vector tangente o velocidad:
A(t) = V

(t) = F

(t)
Si para un valor del par ametro t, A(t) = 0 y asimismo no es paralelo a V (t),
entonces ambos determinan un plano que se conoce como plano osculador de la curva
en el punto F(t).
Para las curvas planas, V (t) y A(t) estan contenidos en el mismo plano de la curva,
por lo que este es el plano osculador. Sin embargo, si la curva no es plana, el plano
8
osculador solo puede considerarse como el que contiene localmente a la curva en un
entorno innitesimal del punto P. El producto vectorial de V (t) y A(t) es un vector
perpendicular a ambos que, una vez normalizado, se denomina vector binormal :
B(t) =
V (t) A(t)
V (t) A(t)
(1.9)
Finalmente, podemos construir un tercer vector interesante en un punto F(t) de
una curva, a saber, el producto vectorial de B(t) con el vector tangente normalizado
que, l ogicamente, estar a contenido en el plano osculador:
N(t) = B(t)
V (t)
V (t)
= B(t) T(t) (1.10)
donde se ha denotado por T(t) al vector tangente normalizado. N(t) es el vector normal
a la curva en el punto F(t).
Junto con los vectores T(t) y B(t) constituye un sistema ortonormal (son mutua-
mente perpendiculares y de longitud 1) que se denomina triedro de Frenet o triedro
movil, indicando esta segunda expresion el caracter modicable del sistema al variar el
par ametro t.
1.3.3. Continuidad geometrica
Consideremos la curva denida por las ecuaciones parametricas
F(t) =
_
_
_
(t, 0, 0) si t [1, 0]
(2t, 4t
2
, 0) si t (0,
1
2
]
(1.11)
F(t) es continua en todo su dominio y derivable en cada uno de sus dos tramos,
pero con una posible discontinuidad de la derivada primera en t = 0.
El vector tangente esta dado por:
V (t) =
_
_
_
[1, 0, 0] si t [1, 0]
(2, 8t, 0] si t (0,
1
2
]
(1.12)
que, claramente es discontinuo para t=0:
V (0

) = [1, 0, 0]
9
1 0.5 0 0.5 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figura 1.4: Graca de F(t)
V (0
+
) = [2, 0, 0]
por lo que la curva es de clase C
0
en [1, 1]; pero no es de clase C
1
. Observamos, sin
embargo, que la direccion del vector tangente s es una funcion continua, pues:
T(t) =
V (t)
V (t)
=
_

_
[1, 0, 0] si t [1, 0]
1

1 + 16t
2
[1, 4t, 0] si t (0,
1
2
]
(1.13)
Y ahora tenemos:
T(0

) = [1, 0, 0]
T(0
+
) = [1, 0, 0]
lo que conrma que T(t) es continua.
Las funciones como (1.14), para las cuales la direccion del vector tangente, es decir
T(t), es continua se dice que posee continuidad visual de clase G
1
Si no permitimos curvas con vector tangente nulo, entonces toda la curva de clase
C
1
(del vector tangente), es asimismo de clase G
1
, lo contrario no es cierto, como se ha
puesto de maniesto en el ejemplo anterior. Tambien diremos que una curva es de clase
G
2
o que posee continuidad geometrica de clase G
2
si el vector curvatura es continuo.
10
Captulo 2
Interpolaci on
En este captulo veremos en forma resumida algunos metodos de interpolaci on y
los inconvenientes que presentan para el modelo computacional. Dado un conjunto de
puntos de control, es posible que la curva resultante pase por todos ellos. En dicho caso
el metodo que encuentra la curva a partir de los puntos de control se denomina metodo
de interpolacion. Puede suceder, en cambio, que la curva normalmente no pase por los
puntos, excepto tal vez por los puntos extremos. Entonces estamos frente a un metodo
de aproximacion. Veamos la gura 2.1
Figura 2.1: interpolacion vs aproximacion
Es decir: El proceso de construir una funcion f(x) vericando que en valores pre-
11
determinados de la variable independiente x
0
, x
1
, . . . , x
n
tome valores asimismo dados
y
0
= f(x
0
), y
1
= f(x
1
), . . . , y
n
= f(x
n
) es conocido como interpolaci on.
2.1. Interpolaci on en espacios generales
La primera cuestion que debe plantearse es, desde luego, el tipo de funcion que
deseamos que cumpla las condiciones de interpolacion y
i
= f(x
i
) con i = 0, 1, . . . , n
puesto que un examen supercial del problema nos llevar a a la conclusi on de que existe
una innidad de funciones vericando dichas condiciones.
A modo de ejemplo, consideremos el caso m as simple de solo dos puntos de inter-
polaci on, digamos (0, 3), (1, 2). Es inmediato comprobar que las tres funciones:
y = x + 3
y = x
2
2x + 3
y =
cos() + 5
2
(2.1)
solucionan el problema dado que y(0) = 3 y y(1) = 2 en los tres casos
Consideremos el conjunto de n + 1 abscisas x
0
< x
1
< . . . < x
n
que constituye lo
que se denomina el soporte de interpolacion y, correspondientemente, un conjunto de
ordenadas y
0
, y
1
, . . . , y
n
sin ninguna restriccion. A las abscisas x
0
, x
1
, . . . , x
n
tambien
las denominaremos nodos de interpolacion.
Es importante destacar que, aunque los datos de partida son puntos del plano
(x
0
, y
0
), (x
1
, y
1
), (x
2
, y
2
), . . . , (x
n
, y
n
) ya desde el principio separamos por un lado las
abscisas y por otro las ordenadas.
2.2. Interpolaci on polinomial
El espacio para el interpolante es el de los polinomios de grado n, que repre-
sentaremos por P
n
la primera cuestion consiste en elejir una base. Una elecci on es la
base de potencias:
B = {1, x
2
, . . . , x
n
}
12
respecto a la cual un polinomio queda expresado en la forma habitual :
P(x) = a
0
+ a
1
x + a
2
x
2
+ + a
n1
x
n1
+ a
n
x
n
(2.2)
Dado entonces un soporte de interpolacion x
0
< x
1
< . . . < x
n
y sus correspon-
dientes ordenadas y
0
, y
1
, . . . , y
n
el sistema de ecuaciones que plantea las condiciones de
interpolacion es:
_

_
1 x
1
0
x
2
0
x
n
0
1 x
1
1
x
2
1
x
n
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 x
1
n
x
2
n
x
n
n
_

_
_

_
a
0
a
1
.
.
.
a
n
_

_
=
_

_
y
0
y
1
.
.
.
y
n
_

_
(2.3)
La matrz de este sistema se llama matrz de Vandermonde y su determinante es
dado por:
det(B) =
i>j
(x
i
x
j
)
Puesto que los nodos de interpolacion x
0
< x
1
< . . . < x
n
son distintos, resulta
inmediatamente que det(B) = 0 sea cual sea el soporte de interpolaci on.
El sistema (2.3) pone de maniesto algunos problemas. Supongamos que el soporte
de interpolacion es:
S = 0, 1, 2, . . . , 99, 100
La matriz de interpolacion contiene elementos del tipo 100
100
,99
99
, etc. Se trata de
n umeros enteros con 200 dgitos decimales signicativos que no pueden almacenarse en
el ordenador, al menos de una forma usual.
2.2.1. Unicidad del polinomio de interpolaci on
Es conveniente asegurarse de que el polinomio calculado sea siempre el mismo in-
dependientemente del polinomio seguido. Esto es una consecuencia inmediata de la
unicidad del polinomio de interpolacion en el espacio P
n
.
13
En efecto, si existieran dos polinomios P
n
(x) y Q
n
(x) ambos de grado menor o igual
que n y vericando las condiciones de interpolacion:
P
n
(x
i
) = y
i
Q
n
(x
i
) = y
i
i = 0, 1, . . . , n
entonces el polinomio R
n
(x) = P
n
(x) Q
n
(x), que tambien sera de grado menor o
igual que n, cumplira:
R
n
(x) = 0 i = 0, 1, . . . , n
es decir, se anulara en los n+1 puntos del soporte. Esto es, R
n
(x) 0 y en consecuen-
cia: P
n
(x) = Q
n
(x).
Metodo de lagrange
Lagrange calculo el unico polinomio interpolante de manera explcita: El polinomio
P
n
(x) de grado n que pasa por los n + 1 puntos (x
0
, y
0
), (x
1
, y
1
), . . . , (x
n
, y
n
) (con
x
i
= x
j
para todo i, j ) es:
P
n
(x) = y
0
L
n,0
(x) + y
1
L
n,1
(x) + + y
n
L
n,n
(x)
donde
L
n,k
(x) =
(x x
0
)(x x
1
) (x x
k1
)(x x
k+1
) (x x
n
)
((x
k
x
0
) (x
k
x
k1
)(x
k
x
k+1
) (x
k
x
n
)
donde,
L
n,0
(x) =
(x x
1
)(x x
2
) (x x
n
)
(x
0
x
1
)(x
0
x
2
) (x
0
x
n
)
L
n,1
(x) =
(x x
0
)(x x
2
) (x x
n
)
(x
1
x
0
)(x
1
x
2
) (x
1
x
n
)
L
n,3
(x) =
(x x
0
)(x x
2
)(x x
4
) (x x
n
)
(x
3
x
0
)(x
3
x
2
)(x
3
x
4
) (x
3
x
n
)
.
.
.
.
.
.
.
.
.
L
n,n
(x) =
(x x
0
)(x x
1
) (x x
n1
)
(x
n
x
0
)(x
n
x
1
) (x
n
x
n1
)
14
Ejemplo 2.1
Sean x
0
= 0, x
1
=
1
2
, x
2
= 1 entonces
L
2,0
(x) =
(x
1
2
)(x 1)
(0
1
2
)(0 1)
= 2(x
1
2
)(x 1)
L
2,1
(x) = 4x(x 1) y L
2,2
(x) = 2x(x
1
2
)
Figura 2.2: Polinomio de Lagrange con x: 0,1/2 y 1
La desventaja m as considerable del metodo de Lagrange es que si aumentamos la
cantidad de puntos, entonces aumenta el grado de los polinomios. Esto en s no sera m as
que un inconveniente computacional, pero en la pr actica, a partir de n = 5, comienzan a
ocurrir oscilaciones indeseadas en el interpolante entre los puntos de control (ver gura).
Es decir, al modicar o agregar un punto de control para mejorar la interpolaci on, en
realidad lo que ocurre es que aumentan oscilaciones.
2.3. Error en la interpolaci on polinomial
Una estimaci on del error se puede obtener si conocmos alguna informacion acerca
de la funcion f y sus derivadas. Supongamos que interpolamos una funcion conocida
f C
n+1
[a, b] a partir de sus valores en unos puntos dados, x
0
, x
1
, . . . , x
n
, con x
i
[a, b].
El error cometido al evaluar f(x) mediante el polinomio de interpolaci on de grado n,
15
Figura 2.3: Interpolacion de puntos de control por medio del interpolante de Lagrange.
Figura 2.4: Efecto de mover un punto de control al grafo en el metodo de Lagrange.
P
n
(x) viene dado por:
(x) = f(x) P
n
(x) = l(x)
f
(n+1)
()
(n + 1)!
(2.4)
donde l(x) = (x x
0
)(x x
1
) . . . (x x
n
) esta en el menor intervalo que contiene
x
0
, x
1
, . . . , x
n
y a < < b. Aqu la expresion

(x)

signica que no es una constante


ja, sino que vara seg un el valor que tome x.
Si interpolamos sobre puntos igualmente espaciados x
i
= x
0
+ i.h, i = 0, 1, . . . , n;
y si h es peque no entonces f
n+1
((x)) en general no se espera que vare gran cosa. El
comportamiento del error es entonces principalmente determinado por:
16
l(x) = (x x
0
)(x x
1
) . . . (x x
n
).
Figura 2.5: l(x) = (x x
0
)(x x
1
) . . . (x x
n
) con n = 7
Pero las oscilaciones de l(x) se hacen m as violentas si n crece,
Figura 2.6: l(x) = (x x
0
)(x x
1
) . . . (x x
n
) con n = 14
2.4. Problemas con interpolaci on polinomial
Coste computacional elevado, sobre todo si se requiere una interpolaci on interac-
tiva a nadiendo sucesivamente puntos.
Necesidad de operar con polinomios de grado elevado. En efecto, el grado del
polinomio de interpolacion es una unidad menos que el n umero de puntos de
modo que por ejemplo para 50 puntos obtenemos un polinomio de grado 49.
Estos polinomios son complicados de manejar y su evaluacion plantea problemas
numericos, tanto de coste computacional como de estabilidad.
17
Error de gran magnitud entre sucesivos puntos de interpoacion. El polinomio no
sigue la forma dictada por los puntos de interpolacion.
Oscilacion del polinomio. Problema estrechamente relacionado con el anterior: el
polinomio de interpolacion oscila a ambos lados de la curva te orica que forman
los puntos de interpolacion. Esto lo hace altamente inadecuado para el modelado
computacional.
Car acter global del proceso interpolatorio: si se modica un solo punto de inter-
polacion, el nuevo polinomio diere del original en todo el intervalo de denici on
(excepto en los propios puntos de interpolacion no modicados). Esto hace invi-
able retocar localmente un curva interpoladora.
2.4.1. Minimizacion de la oscilaci on
Consideremos un conjunto de n+1 puntos (x
0
, y
0
), (x
1
, y
1
), (x
2
, y
2
), . . . , (x
n
, y
n
) con
x
0
< x
1
< . . . < x
n
Evidentemente, existen innitas curvas pasando por estos puntos
(una sera el polinomio de interpolacion)y otra, la poligonal que une los puntos), es
decir, curvas y = f(x) vericando f(x
i
) = y
i
para i = 0, 1, 2, . . . , n. Desde luego es-
tamos de acuerdo en que la poligonal es la que menos oscila entre todas las posibles,
pero evidentemente no resulta satisfactoria como curva interpoladora debido a la dis-
continuidad de la primera derivada. Parece entonces razonable que exijamos a nuestras
curvas interpoladoras ser al menos de clase C
1
en el intervalo [x
0
, x
1
]. Vamos ahora
como medir la oscilacion de una curva.
Dado que la propia oscilacion hace referencia a una curva base respecto a la cual
medir la desviaci on, podemos tomar la poligonal como curva base y estudiar cu anto
se aparta una curva y = f(x) de la poligonal en el intervalo [x
i
, x
i+1
] notemos que
podemos invertir los papeles de f(x) y de la recta que une dos puntos consecutivos
(x
i
, f(x
i
)), (x
i+1
, f(x
i+1
)) considerando que esta recta es el polinomio de interpolaci on
de grado 1 a la curva f(x). La formula 2.4 nos permite expresar entonces el error entre
18
f(x) y la recta:
(x) = f(x) r(x) = (x)
f

(c
x
)
2!
= (x x
i
)(x x
i+1
)
f

(c
x
)
2!
f ormula que podemos interpretar diciendo que es la magnitud f

(x) la que controla


(para diferentes curvas y = f(x) el error entre f(x) y la recta entre cada dos puntos).
Si tomamos una norma de f

(x) obtendremos una medida global de la oscilacion de


f(x) a lo largo del intervalo [x
0
, x
n
]. Una buena elecci on sera desde luego la norma del
m aximo, pero lamentablemente el problema de minimizacion que pretendemos plantear
a continuacion es intratable. Una elecci on de compromiso es la no eucldea:
f

(x)
2
=

_
x
1
x
0
[f

(x)]
2
dx (2.5)
para la cual s existe una sencilla solucion al problema de minimizacion. Veamoslo
entonces: se trata de hallar la funcion f(x), si existe, que hace mnima la expresion 2.5
o equivalentemente:
(f

(x)
2
)
2
=
_
x
1
x
0
[f

(x)]
2
dx (2.6)
con la condici on, por supuesto, de que interpole los puntos (x
i
, y
i
). Sea una funcion f(x)
arbitraria de clase C
2
en (x
0
, x
n
) y vericando f(x
i
) = y
i
, i = 0, 1, 2, . . . , n Sea s(x)
otra funcion del mismo tipo a la que impondremos condiciones adicionales en orden a
minimizar 2text(2,6), estas condiciones vericando, aparte de s(x
i
) = y
i
, son:
s

(x
0
) = s

(x
n
) = 0
s

(x) = k
i
constante en [x
i
, x
i+1
)
minimiza la integral (2.6)
19
Captulo 3
Curvas de Bezier
En este captulo, trataremos la familia de curvas de Bezier por medio de su repre-
sentaci on de los polinomios de Bernstein, y el algoritmo de Casteljau, derivando dis-
tintas propiedades de estas curvas. Tambien hablaremos de las propiedades de Bezier
y describiremos el proceso de subdivision.
3.1. Polinomios de Bernstein
Una forma analtica de abordar la curva de Bezier es por medio del conjunto de
funciones llamadas de polinomios de Bersntein, en esta seccion lo estudiaremos y la
forma como este representa la curva de Bezier.
Dado un entero positivo n y t [0, 1] el k - esimo polinomio de Bernstein de grado
n se dene como:
B
n
k
(t) =
_
n
k
_
t
k
(1 t)
nk
.
con
_
n
k
_
=
_

_
n!
k!(n k)!
si 0 k n
0 si e.o.c.
(3.1)
Para i = 0, 1, 2, . . . , n y
B
n
k
(t) 0, i {0, , n}.
20
Ejemplo 3.1
Para n = 1 y n = 2
B
1
0
(t) = 1 t, B
2
0
(t) = (1 t)
2
, B
2
1
(t) = 2t(1 t)
B
1
1
(t) = t. B
2
2
(t) = t
2
.
Para n = 3 y n = 4
B
3
0
(t) = (1 t)
3
, B
3
1
(t) = 3t(1 t)
2
B
4
0
(t) = t
4
, B
4
1
(t) = 4t(1 t)
3
B
3
2
(t) = 3t
2
(1 t), B
3
3
(t) = t
3
. B
4
2
(t) = 6t
2
(1 t)
2
, B
4
3
(t) = 4t
3
(1 t)
B
4
4
(t) = t
4
.
La gura 3.1 muestra los polinomios de Bernstein para n = 1, 2, 3 y la gura 3.2
para un n = 20
Figura 3.1: Polinomios de Bernstein para: n = 1, 2, 3
Figura 3.2: Polinomios de Bernstein de orden 20
Las propiedades de las curvas de Bezier dependen en gran medida de las de los
polinomios de Bernstein, de modo que vamos a examinar las m as importantes.
Tres propiedades utiles de los polinomios de Bernstein se demuestran a continuacion.
21
Proposici on 3.1. El k-esimo polinomio de Bernstein cumple:
i) B
n
k
(t) = B
n1
k
(t)(1 t) + B
n1
k1
(t)t, con n 1, k = 0, 1, , n.
ii)
n

k=0
B
n
k
(t) 1
iii) B
0
0
(t) 0
Demostraci on:
i) Probaremos esta formula por inducci on. El paso base es una comprobaci on di-
recta.
B
1
0
(t) = B
0
0
(t)(1 t) + B
0
1
(t)t = 1 t,
B
1
1
(t) = B
0
1
(t)(1 t) + B
0
0
(t)t = t.
Para el paso inductivo:
B
n1
k
(t)(1 t) + B
n1
k1
(t)t =
_
n1
k
_
t
k
(1 t)
n1k
(1 t) +
_
n1
k1
_
t
k1
(1 t)
nk
t =
_
n1
k
_
t
k
(1 t)
nk
+
_
n1
k1
_
t
k
(1 t)
nk
=
t
k
(1 t)
nk
__
n1
k1
_
+
_
n1
k
__
=
_
n
k
_
t
k
(1 t)
nk

ii)
n

k=0
B
n
k
(t) =
n

k=0
_
n
k
_
t
k
(1 t)
nk
= (1 t + t)
n
= 1
iii)
B
0
0
(t) =
_
0
0
_
t
0
(1 t)
00
= 1
El inciso ii) nos indica que los polinomios de Bernstein forman una partici on de la
unidad
Otras propiedades adicionales son:
22
El polinomio de Bernstein B
n
k
(t) alcanza su valor m aximo en el punto
k
n
. Si k > 1,
entonces:
d
dt
B
n
k
(t) =
d
dt
__
n
k
_
t
k
(1 t)
nk

=
_
n
k
_ _
kt
k1
(1 t)
nk
t
k
(n k)(1 t)
nk1

=
_
n
k
_ _
kt
k1
(1 t)
nk
t
k
(n k)(1 t)
nk1

= 0 =
k(1 t) t(n k) = 0 = t(k n + k) = k = t =
k
n
.
Si k = 0 o si k = n el resultado es inmediato.
B
0,n
(0) = B
n,n
(1) = 1
La derivadas de los polinomios de Bernstein.
Es necesario distinguir los casos k = 0 e k = n del resto. Si k = 0, n, tenemos:
d
dt
B
n
k
(t) =
d
dt
__
n
k
_
t
k
(1 t)
nk

=
_
n
k
_ _
kt
k1
(1 t)
nk
t
k
(n k)(1 t)
nk1

=
kn!
k!(n k)!
t
k1
(1 t)
nk

(n k)n!
k!(n k)!
t
k
(1 t)
nk1
=
n
_
n1
k1
_
t
k1
(1 t)
nk
n
_
n1
k
_
t
k
(1 t)
nk1
=
nB
n1
k1
(t) nB
n1
k
(t) = n[B
n1
k1
(t) B
n1
k
(t)].
Si k = 0 e k = n, aparece el siguiente resultado:
23
B
n
0
(t)

= n(1 t)
n1
,
B
n
0
(t)

= nt
n1
.
3.2. Curvas de Bezier simples
Cuando un polinomio arbitrario de grado menor o igual que n se expresa como
combinacion lineal de los polinomios de Bernstein, suele denominarse Curvas de Bezier
simple o de un tramo. Pongamos entonces:
C(t) =
n

k=0
P
k
B
n
k
(t) 0 t 1 (3.2)
Estos coecientes P
k
respecto a la base de Bernstein sera denominados en lo sucesivo
puntos de control de la curva de Bezier.
Para n = 1
C(t) =
n

k=0
P
k
B
n
k
(t) = P
0
B
1
0
(t) + P
1
B
1
1
(t) = (1 t)P
0
+ tP
1
(3.3)
Se tiene : C(0) = P
0
; C(1) = P
1
y por tanto C(t) es la recta que une los puntos del plano representados por los
coecientes P
0
, P
1
Para n = 2
C(t) = P
0
B
2
0
(t) + P
1
B
2
1
(t) + P
2
B
2
2
(t) = (1 t)
2
P
0
+ 2t(1 t)P
1
+ t
2
P
2
(3.4)
De manera similar al caso n = 1 tenemos: C(0) = P
0
; C(1) = P
1
con lo cual C(t) interpola al primer y tercer puntos de control (g. 3.3)
Derivando en 3.4:
C

(t) = 2(1 t)P


0
+ 2(1 2t)P
1
+ 2tP
2
de donde :
C

(0) = 2(P
1
P
0
) y C

(1) = 2(P
2
P
1
) (3.5)
24
Figura 3.3:
C

(0), C

(1) son respectivamente vectores tangentes a la curva C(t) en 0 y en 1,


se observa que tienen la direccion de los vectores P
1
P
0
y P
2
P
1
Para n = 3
C(t) = P
0
B
3
0
(t) + P
1
B
3
1
(t) + P
2
B
3
2
(t) + P
3
B
3
3
(t)
= (1 t)
3
P
0
+ 3t(1 t)
2
P
1
+ 3t
2
(1 t)P
2
+ t
3
P
3
(3.6)
Y, una ves m as: C(0) = P
0
; C(1) = P
3
Figura 3.4:
Derivando:
C

(t) = 3(1 t)
2
P
0
+ 3(1 t)(1 3t)P
1
+ 3t(2 3t)P
2
+ 3t
2
P
3
C

(0) = 3(P
1
P
0
)
C

(1) = 3(P
3
P
2
)
Observamos que la propiedad vista para el caso n = 2 se mantiene: C(t) interpola
al primer y ultimo punto de la poligonal que une P
0
, P
1
, P
2
, P
3
.
25
En lo sucesivo, a la poligonal que une P
0
, P
1
, P
2
, . . . ,P
n
la denominaremos
polgono de control de la curva.
3.2.1. Propiedades de las curvas de Bezier simples
Sea C(t) =
n

k=0
P
k
B
n
k
(t) 0 t 1
i) Interpolacion de los puntos de control extremos.
C(0) = P
0
C(1) = P
1
(3.7)
ii) Tangencia al polgono de control en sus extremos.
C

(0) = n(P
1
P
0
)
C

(1) = n(P
n
P
n1
(3.8)
iii) Derivadas. De la denici on de B
n
k
(t) se tiene que:
C

(t) = n
n1

k=0
(P
k+1
P
k
)B
n1
k
(t)
o bien, P
j
= P
j+1
P
j
:
C

(t) = n
n1

k=0
P
k
B
n1
k
(t)
A continuacion se demostrara la derivada de C(t)
Demostraci on:
26
La derivada de C
n
k
(t) es:
d
dt
(C(t)) =
n

k=0
P
k
d
dt
B
n
k
(t) = P
0
d
dt
[(1 t)
n
] +
n1

k=1
P
k
d
dt
B
n
k
(t) + P
n
d
dt
[t
n
] =
P
0
n(1 t)
n1
+
n1

k=1
P
k
[nB
n1
k1
(t) nB
n1
k
(t)] + P
n
nt
n1
= (reordenando)
n
n1

k=0
P
k+1
B
n1
k
(t) n
n1

k=0
P
k
B
n1
k
(t) = n
n1

k=0
(P
k+1
P
k
)B
n1
k
(t) =
n
n1

k=0
P
k
B
n1
k
(t),
donde P
k
= p
k+1
p
k
.
Para las derivadas de orden superior, tenemos la siguiente expresion:
d
r
dt
r
(C(t)) = n(n 1) . . . (n r + 1)
nr

k=0

r
P
k
B
nr
k
(t),
donde
r
P
j

r1
P
j+1

r1
P
j
siendo P
j+1
P
j
= P
j
=
1
P
j
.

iv)
27
Bibliografa
[1] Cordero J. y J. Cortes, (2002). Curvas y Supercies para Modelado Geometrico.
Espa na. Editorial RA-MA.
[2] Prautzsch, H.; W. Boehm, W. y M. Paluszny. (2005). Metodos de Bezier y B-
splines. Berln. Editorial Universitatsverlag Karlsruhe.
[3] Farin, G., (1997). Curves and Surfaces for Computer Aided Geometric Design.
USA. Academic Press, INC.
[4] Salomon, D., (2011). The Computer Graphics Manual. Volumen 1. Londres. Edi-
torial Springer-Verlag.
[5] Agoston, M., (2005). Computer Graphics and Geometric Modeling. Londres. Edi-
torial Springer-Verlag.
28

Anda mungkin juga menyukai