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 f : [0, 1] --> ÷µ una función continua. El polinomio n-ésimo de Bernstein B(n, f, x) de la función f 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

donde  ( n ) = n !/(k ! (n - k) !)     k.

 

Una construción de los polinomios de Bernstein para la función constante f(x) = 1 sobre el intervalo [0, 1], la hacemos de la siguiente forma

Observemos que 1^n = 1, ∀ n ∈ ÷±. Por lo tanto, ∀ x ∈ ÷µ se cumple que:

1 = (x + 1 - x)^n = Underoverscript[∑, k = 0, arg3] ( n ) x^k (1 - x)^(n - k)                                                              k

lo cual nos dice que el n-ésimo polinomio de Berntein de la función constante f(x) = 1coincide con f, o sea es 1.

Con esto como preámbulo y asumiendo que f : [0, 1] --> ÷µes continua, definimos en Mathematica el n-ésimo polinomio de Bernstein evaluado en x 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] ;

No deja de ser interesante que Mathematica acepta ese procedimento sin dificultad, logrando resultados como los siguiente:

In[2]:=

B[n, f, x] /. f -> (# &)

Out[2]=

(1 - x)^n (-1/(-1 + x))^n x

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

Out[4]=

x

Es decir, el polinomio n-ésimo de Bernstein de la función f(x) = x coincide con f, o sea es x.

Veamos otros ejemplos en los cuales la función f(x) esta definida por x^2, x^3, x^4, 3 x^4 + x^2, Sen(x) + 3x^4 + x^2, respectivamente.

Para la función f(x) = x^2

In[5]:=

Apart[Simplify[Expand[B[n, f, x] /. f -> (#^2 &)]] /. regla, x]

Out[5]=

x/n + ((-1 + n) x^2)/n

obtenemos que el n-ésimo polinomio de Bernstein es:

B _ n (x^2, x) = x/n + ((-1 + n) x^2)/n

Para la función f(x) = x^3

In[6]:=

Apart[ Simplify[Expand[B[n, f, x] /. f -> (#^3 &)]] /. regla]

Out[6]=

x/n^2 + (3 (-1 + n) x^2)/n^2 + ((2 - 3 n + n^2) x^3)/n^2

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

Para la función f(x) = x^4

In[7]:=

Apart[Simplify[Expand[B[n, f, x] /. f -> (#^4 &)]] /. regla, x]

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

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

Para la función f(x) = 3 x^4 + x^2 obtenemos que

In[8]:=

Apart[Simplify[Expand[B[n, f, x] /. f -> (3 * #^4 + #^2 &)]] /. regla, x]

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

y para la función f(x) = Sen(x) + 3 x^4 + x^2 obtenemos que

In[9]:=

Apart[Simplify[Expand[B[n, f, x] /. f -> (Sin[#] + 3 * #^4 + #^2 &)]] /. regla, x]

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)

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 f : [0, 1] --> ÷µ es continua entonces B[n, f, x] = B _ n[f, x] es una función continua.

    • Si f >= 0 entonces B[n, f, x] = B _ n[f, x] >= 0, para toda x ∈ ÷µ.

Además, en ÷r ( [0, 1], {|    {| _ 8) se cumple que para toda f ∈ ÷r([0, 1]) se tiene que B[n, f, x] --> f  con la norma {|    {| _ ∞. Es decir, la convergencia es uniforme. La demostración se basa en los siguientes hechos:

Primero, como f es continua en [0, 1] entonces f es acotada y podemos elegir M = Underscript[Sup, 0 <= x <= 1] {f(x)}, con lo cual

-M <= f(x) <= f(x),   ∀ x ∈ [0, 1]   

Por otro lado, al ser f continua en [0, 1], para cualquier ζ > 0 existe un δ > 0 tal que para todo x, y ∈ [0, 1], que cumplen | x - y | < δ se tine que | f(x) - f(y) | < ζ

Con las definiciones anteriores de M, ζ, δ, podemos afirmar que:

-ζ - 2 M/δ^2 (x - y)^2 <= f (x) - f (y) <= ζ + 2 M/δ^2 (x - y)^2,     ∀ x, y ∈ [0, 1]

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 f, no la interpolan necesariamente.

Los términos intermedios en la construcción del n-ésimo polinomio de Bernstein de la función f(x):

B _ 2 (i, n) = f (i/n) ( n ) x^i (1 - x)^(i - k), para i = 0, 1, ..., n                           i

B _ 2 (n ) = {B _ 2(i, n) | i = 0, 1, 2, ..., n}

son muy útiles.

Usando Mathematica podemos graficar los términos intermedios del polinomio de Bernstein  B(4, 1, x) (observe que f(x) = 1):

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} ] }]] ;

Términos intermedios para n=4

Out[63]=

{(1 - x)^4, 4 (1 - x)^3 x, 6 (1 - x)^2 x^2, 4 (1 - x) x^3, x^4}

Gráfica de los términos intermedios

[Graphics:HTMLFiles/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} ] ]}}]] ;

[Graphics:HTMLFiles/index_89.gif]

Figura 2: Términos intermedios de 4-ésimo polinomio de Bernstein.

 

  1  2  

Revista Virtual Matemática, Educación e Internet

Derechos Reservados