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