1 2
Algunos
aspectos de polinomios de Bernstein,
Bezier y trazadores
Vernor
Arguedas Troyo
Roberto Mata Montero
Escuela de Matemática
Universidad de Costa Rica
Resumen
Este trabajo consta de dos partes: la primera presenta, de manera elemental, la teoría de los polinomios de Bernstein en una
variable; la segunda esta dedicada a curvas de Bezier y q-trazadores ("q-splines"). Nos parece importante el uso que se puede dar del software Mathematica.
Palabras claves: aproximación, interpolación,
splines, curvas, Mathematica.
Introducción
Como introducción del trabajo que desarrollaremos posteriormente, recordemos la definición de polinomios de Bernstein en su forma usual.
Definición [Polinomios de Bernstein]
Sea una función continua. El polinomio n-ésimo de Bernstein de la función se define como:
![B(n, f, x) = B _ n(f, x) = Underoverscript[∑, k = 0, arg3] f(k/n) ( n ) x^k(1 - x)^(n - k), k](imagenes/index_4.gif)
donde .
Una construción de los polinomios de Bernstein para la función constante sobre el intervalo , la hacemos de la siguiente
forma
Observemos que , . Por lo tanto, se cumple que:
![1 = (x + 1 - x)^n = Underoverscript[∑, k = 0, arg3] ( n ) x^k (1 - x)^(n - k) k](imagenes/index_11.gif)
lo cual nos dice que el n-ésimo polinomio de Berntein de la función constante coincide con , o sea es 1.
Con esto como preámbulo y asumiendo que es continua, definimos en Mathematica el n-ésimo polinomio de Bernstein evaluado en de la siguiente forma:
In[1]:=
![B[n_, f_, x_] := Underoverscript[∑, k = 0, arg3] Binomial[n, k] x^k (1 - x)^(n - k) f[k/n] ;](imagenes/index_16.gif)
No deja de ser interesante que Mathematica acepta ese procedimento sin dificultad, logrando resultados como los
siguiente:
In[2]:=
![B[n, f, x] /. f -> (# &)](imagenes/index_17.gif)
Out[2]=
![(1 - x)^n (-1/(-1 + x))^n x](imagenes/index_18.gif)
Observemos que Mathematica no simplifica el resultado. Para lograr una expresión más simple debemos definir la siguiente regla lógica:
In[3]:=
![regla = {(1 - x)^n (-1/(-1 + x))^n -> 1, (1 - x)^n (1/(1 - x))^n -> 1} ; B[n, f, x] /. f -> (# &) /. regla](imagenes/index_19.gif)
Out[4]=
![x](imagenes/index_20.gif)
Es decir, el polinomio n-ésimo de Bernstein de la función coincide con , o sea es .
Veamos otros ejemplos en los cuales la función esta definida por , , , , Sen(x) + 3 , respectivamente.
Para la función ![f(x) = x^2](imagenes/index_30.gif)
In[5]:=
![Apart[Simplify[Expand[B[n, f, x] /. f -> (#^2 &)]] /. regla, x]](imagenes/index_31.gif)
Out[5]=
![x/n + ((-1 + n) x^2)/n](imagenes/index_32.gif)
obtenemos que el n-ésimo polinomio de Bernstein es:
![B _ n (x^2, x) = x/n + ((-1 + n) x^2)/n](imagenes/index_33.gif)
Para la función ![f(x) = x^3](imagenes/index_34.gif)
In[6]:=
![Apart[ Simplify[Expand[B[n, f, x] /. f -> (#^3 &)]] /. regla]](imagenes/index_35.gif)
Out[6]=
![x/n^2 + (3 (-1 + n) x^2)/n^2 + ((2 - 3 n + n^2) x^3)/n^2](imagenes/index_36.gif)
obtenemos que el n-ésimo polinomio de Bernstein es:
![B _ n (x^3, x) = x/n^2 + (3 (-1 + n) x^2)/n^2 + ((2 - 3 n + n^2) x^3)/n^2](imagenes/index_37.gif)
Para la función ![f(x) = x^4](imagenes/index_38.gif)
In[7]:=
![Apart[Simplify[Expand[B[n, f, x] /. f -> (#^4 &)]] /. regla, x]](imagenes/index_39.gif)
Out[7]=
![x/n^3 + (7 (-1 + n) x^2)/n^3 + (6 (2 - 3 n + n^2) x^3)/n^3 + ((-6 + 11 n - 6 n^2 + n^3) x^4)/n^3](imagenes/index_40.gif)
![](imagenes/index_41.gif)
obtenemos que el n-ésimo polinomio de Bernstein es:
![B _ n (x^4, x) = x/n^3 + (7 (-1 + n) x^2)/n^3 + (6 (2 - 3 n + n^2) x^3)/n^3 + ((-6 + 11 n - 6 n^2 + n^3) x^4)/n^3](imagenes/index_42.gif)
Para la función obtenemos que
In[8]:=
![Apart[Simplify[Expand[B[n, f, x] /. f -> (3 * #^4 + #^2 &)]] /. regla, x]](imagenes/index_44.gif)
Out[8]=
![((3 + n^2) x)/n^3 + ((-21 + 21 n - n^2 + n^3) x^2)/n^3 + (18 (2 - 3 n + n^2) x^3)/n^3 + (3 (-6 + 11 n - 6 n^2 + n^3) x^4)/n^3](imagenes/index_45.gif)
y para la función obtenemos que
In[9]:=
![Apart[Simplify[Expand[B[n, f, x] /. f -> (Sin[#] + 3 * #^4 + #^2 &)]] /. regla, x]](imagenes/index_47.gif)
Out[9]=
![((3 + n^2) (1/(1 - x))^n (1 - x)^n x)/n^3 + ((-21 + 21 n - n^2 + n^3) (1/(1 - x))^n (1 - x)^n ... x^4)/n^3 - 1/2 i (1 - x)^n (((-1 + x - e^i/n x)/(-1 + x))^n - ((1 + (-1 + e^(-i/n)) x)/(1 - x))^n)](imagenes/index_48.gif)
Observe el uso que se dió a la función pura (#&), si no se usan los paréntesis el procedimiento no funciona.
Los polinomios de Bernstein tiene las siguientes propiedades:
• Si es continua entonces es una función continua.
• Si entonces , para toda .
Además, en se cumple que para toda se tiene que con la norma . Es decir, la convergencia es uniforme. La demostración se basa en los siguientes hechos:
Primero, como es continua en entonces es acotada y podemos elegir , con lo cual
,
Por otro lado, al ser continua en , para cualquier existe un tal que para todo , , que cumplen se tine que ![| f(x) - f(y) | < ζ](imagenes/index_71.gif)
Con las definiciones anteriores de , , , podemos afirmar que:
![-ζ - 2 M/δ^2 (x - y)^2 <= f (x) - f (y) <= ζ + 2 M/δ^2 (x - y)^2, ∀ x, y ∈ [0, 1]](imagenes/index_75.gif)
Con esto, el resto de la demostración es sencilla. Esencialmente
ésta es la demostración del teorema de Korovkin. (El Lic. Gerardo Araya escribió una excelente tesis de graduación sobre este tema, dirigida por el profesor Vernor Arguedas [1])
Es importante recalcar que los polinomios de Bernstein aproximan a la función , no la interpolan necesariamente.
![](imagenes/index_77.gif)
Los términos intermedios en la construcción del n-ésimo polinomio de Bernstein de la función :
![B _ 2 (i, n) = f (i/n) ( n ) x^i (1 - x)^(i - k), para i = 0, 1, ..., n i](imagenes/index_79.gif)
![B _ 2 (n ) = {B _ 2(i, n) | i = 0, 1, 2, ..., n}](imagenes/index_80.gif)
son muy útiles.
Usando Mathematica podemos graficar los términos intermedios del polinomio de Bernstein (observe que ):
In[60]:=
![Bernstein2[i_, n_] := Binomial[n, i] x^i (1 - x)^(n - i) ; Bernstein2[n_] := Table[Bernstein2 ... gt; {AbsolutePointSize[5], Table[Point[{i/n, Bernstein2[i, n] /. x -> i/n}], {i, 0, n} ] }]] ;](imagenes/index_83.gif)
![Términos intermedios para n=4](imagenes/index_84.gif)
Out[63]=
![{(1 - x)^4, 4 (1 - x)^3 x, 6 (1 - x)^2 x^2, 4 (1 - x) x^3, x^4}](imagenes/index_85.gif)
![Gráfica de los términos intermedios](imagenes/index_86.gif)
![[Graphics:HTMLFiles/index_87.gif]](imagenes/index_87.gif)
Figura 1: Gráfica de los términos
intermedios del 4-ésimo polinomio de Bernstein.
In[67]:=
![Plot[Evaluate[Bernstein2 [n], {x, 0, 1}, PlotStyle -> { {RGBColor[0, 0, 1], Thickness[0.007 ... , 0, 1], Thickness[0.007], Line[Table[{i/n, Bernstein2[i, n] /. x -> i/n}, {i, 0, n} ] ]}}]] ;](imagenes/index_88.gif)
![[Graphics:HTMLFiles/index_89.gif]](imagenes/index_89.gif)
Figura 2: Términos intermedios de
4-ésimo polinomio de Bernstein.
1 2
|