1
TC TC – – 708 An 708 An á á lise Num lise Num é é rica rica Capitulo
Capitulo – – IV : Interpola IV : Interpola ç ç ão ão Polinômios de Bernstein, Polinômios de Bernstein,
Lucas M
Lucas Má áximo Alves ximo Alves
Prof. Antonio Marques Carrer Prof. Antonio Marques Carrer Universidade Federal do Paran
Universidade Federal do Paraná á – – UFPR UFPR
a
b
c
d
2
Conte
Conte ú ú do do
• • 1. 1. Introdu Introdu ç ç ão ão
• • 2. 2. Problemas na Interpola Problemas na Interpola ç ç ão ão Polinomial Polinomial
• • 3. Motiva 3. Motiva ç ç ão ão - - Surgimento Surgimento
• • 4. Polinômios de 4. Polinômios de Bernstein Bernstein
• • 5. Propriedades dos Polinômios 5. Propriedades dos Polinômios
• • 6. 6. C C á á lculos de Interpola lculos de Interpola ç ç ão e Exemplos ão e Exemplos
• • 7. 7. Aplica Aplica ç ç ões e Conclusão ões e Conclusão
• • 8. Referências 8. Referências
3
1 1 - - INTRODU INTRODU Ç Ç ÃO ÃO
• • Interpola Interpola ç ç ão ão : Linear, : Linear, Quadr Quadr á á tica tica , , C C ú ú bica bica
• • Escolha Escolha da da ordem ordem do do polinômio polinômio de de interpola
interpola ç ç ão ão
4
1 1 - - INTRODU INTRODU Ç Ç ÃO ÃO
• • Forma Forma geom geom é é trica trica
de alguns de alguns
dos dos
polinômios polinômios
j j á á
aprendidos
aprendidos
5
2 2 - - PROBLEMAS NA PROBLEMAS NA INTERPOLA
INTERPOLA Ç Ç ÃO POLINOMIAL ÃO POLINOMIAL
• • A interpolaç A interpola ção polinomial ão polinomial é é um metodo f um metodo f ácil e á cil e único para descrevercurvas ú nico para descrevercurvas que cont
que conté ém alguns atributos geom m alguns atributos geomé étricos tricos „ „satisfat satisfató órios rios ““. ““ .
• • A interpola A interpola ção polinomial n ç ão polinomial n ào à o é é o m o m étodo de escolha dentro de aplicativos é todo de escolha dentro de aplicativos como o CAD devido a descri
como o CAD devido a descriç ç ões melhores de curvas (como ser ões melhores de curvas (como ser á á visto mais visto mais tarde).
tarde).
Razão:
Razão: A interpola A interpola çào polinômial pode oscilar çà o polinômial pode oscilar
6
2 2 - - PROBLEMAS DE PROBLEMAS DE INTERPOLA
INTERPOLA Ç Ç ÃO POLINOMIAL ÃO POLINOMIAL
O polinômio interpolante pode oscilar mesmo quando O polinômio interpolante pode oscilar mesmo quando
pontos de dados
pontos de dados normais normais e os valores dos parametros e os valores dos parametros são usados.
são usados.
• • O polinômio O polinômio interpolante não preserva a forma. interpolante não preserva a forma. Isto não Isto não tem nada a ver com os efeitos num
tem nada a ver com os efeitos num é é ricos, ele ricos, ele é é devido devido ao processo de interpola
ao processo de interpolaç ç ão. ão.
• • Para processos de interpola Para processos de interpola ç ç ão de alto custo: ão de alto custo: uma uma enorme quantidade de opera
enorme quantidade de opera ções necess ç ões necessá árias para a rias para a constru
construçà çà o e cá o e c á lculo do interpolante. lculo do interpolante.
7
3 3 – – MOTIVA MOTIVA Ç Ç ÃO ÃO
• • Este Este é é o Sr. o Sr.
Bernstein
Bernstein
8
3 3 – – MOTIVA MOTIVA Ç Ç ÃO ÃO
Objetivo
Objetivo: : Melhor Melhor controle controle sobre sobre a forma das curvas a forma das curvas Infraestrutura
Infraestrutura: : Computado Computado- -com com suporte suporte de design para de design para autom autom ó ó veis veis e areonaves e areonaves
Bé B ézier zier (Renault) e de (Renault) e de Casteljau Casteljau (Citr ( Citrö öen en) ambos ) ambos foram foram desenvolvidos desenvolvidos independentemente
independentemente um do outro um do outro em em torno torno dos anos dos anos de 1960/65 de 1960/65 para para descriç descri ções ões de curva de curva com os com os seguintes seguintes atributos: atributos :
• • Substituç Substitu ção ão de padrões de padrões de desenho de desenho feitos feitos pelo pelo CAD CAD
• • Manipulaç Manipula ção ão flex flex ível í vel de curvas de curvas com garantia com garantia e controle e controle de forma da de forma da curva
curva resultante resultante
• • Introduç Introdu ção ão de pontos de pontos de controle de controle que que não não necessariamente necessariamente estende
estende- -se se sobre sobre a curva a curva
9
Curvas
Curvas Suaves Suaves
• • Como Como criar criar curvas curvas suaves suaves ? ?
10
Curvas
Curvas Suaves Suaves
• • Como Como criar criar curvas curvas suaves suaves ? ?
• • Curvas Curvas param param é é tricas tricas com com polinômios polinômios
( ), ( )
)
( t x t y t
p
11
Curvas
Curvas Suaves Suaves
• • Controlando Controlando a forma a forma da da curva curva
3 2
3 2
) (
) (
ht gt
ft e
t y
dt ct
bt a
t x
12
Curvas
Curvas Suaves Suaves
• • Controlando Controlando a forma a forma da da curva curva
3
1 2
) (
) (
t t
t t
y
t t
x
13
Curvas
Curvas Suaves Suaves
Controlando
Controlando a forma a forma da da curva curva
3
3 2
) (
) (
t t
t t
y
t t
x
14
Curvas
Curvas Suaves Suaves
Controlando
Controlando a forma a forma da da curva curva
3
1 2
) (
) (
t t
t t
y
t t
x
15
Curvas
Curvas Suaves Suaves
• • Controlando Controlando a forma a forma da da curva curva
3
1 2
) (
) (
t t
t t
y
t t
x
16
Curvas
Curvas Suaves Suaves
Controlando
Controlando a forma a forma da da curva curva
3
1 2
) (
) (
t t
t t
y
t t
x
17
Curvas
Curvas Suaves Suaves
• • Controlando Controlando a forma a forma da da curva curva
3
3 2
1 )
( ) (
t t
t t
y
t t
x
18
Curvas
Curvas Suaves Suaves
• • Controlando Controlando a forma a forma da da curva curva
3
1 2
) (
) (
t t
t t
y
t t
x
19
Curvas
Curvas Suaves Suaves
• • Controlando Controlando a forma a forma da da curva curva
3
1 2
) (
) (
t t
t t
y
t t
x
20
Curvas
Curvas Suaves Suaves
• • Controlando Controlando a forma a forma da da curva curva
3
1 2
) (
) (
t t
t t
y
t t
x
Os coeficiente de bases de
Potências não são intuitivos para o
controle da forma da curva!!!
21
3 3 - - SURGIMENTO SURGIMENTO
• • F F ó ó rmula do Binômio de Newton rmula do Binômio de Newton
n
i
i i n
n a b
i b n
a
0
)
(
22
4 4 - - POLINÔMIOS DE BERNSTEIN POLINÔMIOS DE BERNSTEIN
• • Defini Defini ç ç ão dos Polinômios de Bernstein ão dos Polinômios de Bernstein
Os Polinômios Os Polinômios de Bernstein de grau de Bernstein de grau n qualquer n qualquer são são definidos definidos para para qualquer
qualquer grau grau n = 0, 1, 2, … n = 0, 1, 2, …, N, , N,
( ) (1 ) com 0,1 , 0,...,
n n i i
i
B t n t t t i n
i
! 0
!( )!
0 0
n para i n
n n
i n i
i i
para i n
com com
coeficientes coeficientes binomiais binomiais dado
dado por por : :
23
4 4 - - POLINÔMIOS DE BERNSTEIN POLINÔMIOS DE BERNSTEIN
• • Existem Existem n+1 n+1 Polinômios Polinômios de Bernstein de de Bernstein de grau grau n. n. Por Por exemplo exemplo , Os , Os Polinômios Polinômios de Bernstein de Bernstein de de graus graus 1, 2, e 3 1, 2, e 3 são são : :
- - Prefere Prefere - - se se sobre sobre outras outras interpola interpola ç ç ões ões polinomiais polinomiais porque
porque : : É É mais mais eficiente eficiente
- - Outros Outros polinômios polinômios de altos de altos graus graus são são computacionalmente
computacionalmente mais mais caros caros - - Erros Erros pequenos pequenos
- - A A curva curva interpolante interpolante é é mais mais suave suave
24
4.1 4.1 - - Bernstein de grau 1 Bernstein de grau 1
1 1 0 1
0
1 1 1 1
1
( ) 1 (1 ) 0
( ) 1 (1 ) 1
B t t t t
B t t t t
25
4.2 4.2 - - Bernstein de grau 2 Bernstein de grau 2
2 2 0 2
0
2 2 1 1
1
2 2 2 2 2
2
( ) 2 (1 ) (1 )
0
( ) 2 (1 ) 2(1 )
1
( ) 2 (1 ) 2
B t t t t
B t t t t t
B t t t t
26
4.3 4.3 - - Bernstein de grau 3 Bernstein de grau 3
3 3 0 3
0
3 3 1 1 2
1
3 3 2 2 2
2
3 3 3 3 3
3
( ) 3 (1 ) (1 )
0
( ) 3 (1 ) 3(1 )
1
( ) 3 (1 ) 3(1 )
2
( ) 3 (1 ) 3
B t t t t
B t t t t t
B t t t t t
B t t t t
27
5 5 - - PROPRIEDADES DOS PROPRIEDADES DOS POLINÔMIOS
POLINÔMIOS
5.3 – 5.3 – Recursividade Recursividade
( ) (1 )
n n
i n i
B t B t
1
( ) (1 ) ( ) 1 ( )
n n k n
k k k
B t t B t t B t
0 , 1 , 0 , 0 , 1
)
( t n i n t
B i n
5.2 – 5.2 – Simetria Simetria
5.1 – 5.1 – Intervalo Intervalo
28
5 5 - - PROPRIEDADES DOS PROPRIEDADES DOS POLINOMIOS DE BERNSTEIN POLINOMIOS DE BERNSTEIN
5.4 5.4 - - Parti Parti ç ç ão ão da da unidade unidade : a : a soma vale
soma vale uma uma unidade unidade para para qualquer qualquer t t em em [0,1] [0,1]
onde onde i i -vezes nulo em t=0, - vezes nulo em t=0, (n (n - - i) i) - - nulo nulo em t=1 nulo nulo em t=1
Prova:
Prova:
0,1
t 1 )
0 (
i n B i n t
0 0
1 1
1 ( )
n
n n i i n n
i i i
t t
n t t B t
i
29
n n! n-1 n-1
= = +
i i!(n - i)! i i-1
0 : 0 : 1 0
1 1
1: , : 1 + 1
0 1
2 2 2
2 : , , : 1 + 2 + 1
0 1 2
3 3 3 3
3 : , , , : 1 + 3 + 3 +1
0 1 2 3
4 4 4 4
4 : , , ,
0 1 2
, 4 : 1 + 4 + 6 + 4 + 1
3 1
:
n n n n n n
: , ,...., , , ,...., : 1,(n-1)+(i-1),(n-1+i),...,1
0 1 k-1 k k+1 n
i
• • 5.4 5.4 - - n n escolhas escolhas I do I do Triangulo Triangulo de de Pascal
Pascal
1: 1
1,1: 1 + 1
1,2,1: 1 + 2 + 1 1,3,1: 1 + 3 + 3 +1
1,4,6,4,1: 1 + 4 + 6 + 4 + 1 :
1, n, ...,(n-1)+(i-1),(n-1+i),...,1
30
5.5 5.5 - - Constru Constru ç ç ão ão do do Polinômios Polinômios de Bernstein
de Bernstein
B i n (t) = (1-t)B i n-1 (t) + tB i n - - 1 1 (t)
= +
=
B 0 2 (t) = (1-t) B 0 1 (t)
=
B 1 2 (t) = (1-t) B 1 1 (t) + t B 0 1 (t)
B 2 2 (t) = t B 1 1 (t)
1
( ) (1 ) ( ) 1 ( )
n n k n
k k k
B t t B t tB t
31
5.6 5.6 - - C C á á lculo Recursivo lculo Recursivo
1
1 0
( ) : (1 ) ( ) ( )
1 para i = 0
( ) :
0 para i 0
r r r
i i i
i
B t t B t t B t
B t
i n-i
i,n
i n-i i n-i
i,n-1 i-1,n-1
B ( ) = n t (1-t) i
n-1 n-1
= t (1-t) + t (1-t)
i i-1
= (1-t)B ( ) + tB ( ) t
t t
5.6 - 5.6 - Graus Graus mais mais altos lerps altos lerps de graus de graus inferiores inferiores
32
5.6 5.6 - - Base de Fun Base de Fun ç ç ões dos ões dos Polinômios de
Polinômios de Bernstein Bernstein
Exemplo: Polinômios de Bernstein de
Graus 1-3
33
Metodos de Aproximaç Metodos de Aproxima ç ão: ão: Curvas e Polinômios B Curvas e Polinômios Bé ézier zier
6. C 6. C Á Á LCULO DE INTERPOLA LCULO DE INTERPOLA Ç Ç ÃO ÃO
De acordo com De acordo com esta defini
esta defini ç ç ão as ão as curvas de B
curvas de B é é zier zier são calculadas são calculadas com a ajuda dos com a ajuda dos polinômios de
polinômios de Bernstein.
Bernstein.
Exemplo
Exemplo de uma curva cú de uma curva c úbica bica Bé B ézier zier
34
6. C 6. C Á Á LCULO DE INTERPOLA LCULO DE INTERPOLA Ç Ç ÃO ÃO
• • Dado Dado uma uma s s érie é rie de pontos de pontos de controle de controle onde onde
• • Definiç Defini ção ão : : Uma Uma curva curva Bezier de grau Bezier de grau N N é é : :
Onde Onde para para i = 0, 1, … i = 0, 1, …, N, , N, são são os os polinômios polinômios de Bernstein de de Bernstein de grau grau N. N.
-
- P(t) P(t ) é é a a curva curva de Bezier. de Bezier.
- - Uma Uma vez vez que que : :
• • É É fá f ácil cil modificar modificar as curvas as curvas se os se os pontos pontos são são acrescentados acrescentados
, 0
( ) ( )
N
i n i i
x t x B t
, 0
( ) ( )
N
i n i i
y t y B t
( , )
i i i
P x y
P i i N 0
, 0
( ) ( )
B
i n i i
P t PB t
, ( ) B n i t
6.1 6.1 - - Interpola Interpola ç ç ão ão de de uma uma curva curva Bezier Bezier
35
6. C 6. C Á Á LCULO DE INTERPOLA LCULO DE INTERPOLA Ç Ç ÃO ÃO
• • Problema: Problema : Ache a Ache a curva curva Bezier que Bezier que possui possui os os seguintes seguintes pontos pontos de de controle
controle {(x,y {( x,y)={ (2,2), (1,1.5), (3.5,0), (4,1)}. )={ (2,2), (1,1.5), (3.5,0), (4,1)}.
• • Soluç Solu ção ão: : Substitui- Substitui -se as se as coordenadas coordenadas x- x - e y- e y - dos N=3 pontos dos N=3 pontos de de controle
controle dentro dentro das f das fó órmulas rmulas x(t) e x(t ) e y(t): y(t ):
3 3 3 3
0 1 2 3
3 3 3 3
0 1 2 3
( ) 2 ( ) 1 ( ) 3.5 ( ) 4 ( ) ( ) 2 ( ) 1.5 ( ) 0 ( ) 1 ( )
x t B t B t B t B t
y t B t B t B t B t
36
6. C 6. C Á Á LCULO DE INTERPOLA LCULO DE INTERPOLA Ç Ç ÃO ÃO
( ) [ ]( ) / [ ]( ) /
( ) [ ]( ) / [ ]( ) /
( ) /
/
x t P x t dy dy dt dP x t dt y t P y t dx dx dt dP y t dt
dy dt dy
y x y dx dx
dx dt dx
• • Cá C álculando lculando o polinômio o polinômio que que ajusta
ajusta a a fun fun ç ç ão ão : :
y = y = f(x f(x ) )
37
6.1. Exemplo
6.1. Exemplo
38
6.2. Exemplo
6.2. Exemplo
39
6.3. Exemplo
6.3. Exemplo
40
6.4. Exemplo
6.4. Exemplo
41
6.5. Exemplo
6.5. Exemplo
42
7 7 - - APLICA APLICA Ç Ç ÕES E CONCLUSÃO ÕES E CONCLUSÃO
• • C C á á lculo por Matrizes lculo por Matrizes – – Resolu Resolu ç ç ão de ão de Sistemas Lineares
Sistemas Lineares
• • Ver Exemplo MAPLE Ver Exemplo MAPLE
43
6.1 6.1 - - Interpola Interpola ç ç ão ão C C ú ú bica bica : : Matriz Matriz 4x4 4x4
3 2 2 3
0 1 2 3
0 3 2 1
2 3
( ) (1 ) [3 (1 ) ] [3 (1 )]
1 ?
F t P t P t t P t t P t
P M P
t t t
P P
44
6.1 6.1 - - Interpola Interpola ç ç ão ão C C ú ú bica bica : : Matriz Matriz 4x4 4x4
3 2 2 3
0 1 2 3
0 3 2 1
2 3
( ) (1 ) [3 (1 ) ] [3 (1 )]
1 3 3 1
3 6 3 0
1 3 3 0 0
1 0 0 0
F t P t P t t P t t P t
P t t t P
P P
45
• • Ache um Ache um polinômio polinômio que que passa passa pelos pelos valores
valores especificados especificados
3
) 2
( t a bt ct dt
y
Interpola
Interpola ç ç ão ão
y
t
46
Interpolation Interpolation
• • Ache um Ache um polinômio polinômio que que passa passa pelos pelos valores
valores especificados especificados
y
t
3
) 2
( t a bt ct dt
y
3 )
0
( a y
1 )
1
( a b c d y
3 8
4 2
) 2
( a b c d y
1 27
9 3
) 3
( a b c d
y
47
Interpola
Interpola ç ç ão ão
• • Ache um Ache um polinômio polinômio que que passa passa pelos pelos valores
valores especificados especificados
y
t
3
) 2
( t a bt ct dt
y
1 3 1 3
27 9
3 1
8 4
2 1
1 1
1 1
0 0
0 1
d
c
b
a
48
Interpolation Interpolation
• • Ache um Ache um polinômio polinômio que que passa passa pelos pelos valores
valores especificados especificados
y
t
3
) 2
( t a bt ct dt
y
1 3 20 3
6 3
d
c
b
a
49
Interpola
Interpola ç ç ão ão
• • Ache um Ache um polinômio polinômio que que passa passa pelos pelos valores
valores especificados especificados
y
t
Controle intuitivo de curvas
usando “pontos de controles”!!!
50
Interpola
Interpola ç ç ão ão
• • Executa Executa a a interpolaç interpola ção ão para para cada cada componente componente separadamente
separadamente
• • Combina Combina o resultado o resultado para para obter obter a a curva curva parametrica parametrica
y
( ), ( )
)
( t x t y t
p
51
Interpola
Interpola ç ç ão ão
• • Executa Executa a a interpola interpola ç ç ão ão para para cada cada componente componente separadamente
separadamente
• • Combina Combina o o resultado resultado para para obter obter a a curva curva parametrica
parametrica
y
( ), ( )
)
( t x t y t
p
52
Interpola
Interpola ç ç ão ão
• • Executa Executa a a interpola interpola ç ç ão ão para para cada cada componente componente separadamente
separadamente
• • Combina Combina o o resultado resultado para para obter obter a a curva curva parametrica
parametrica
y
x
( ), ( )
)
( t x t y t
p
53
7.1 7.1 - - Aplica Aplica ç ç ão ão na na Computa Computa ç ç ão ão Gr Gr á á fica fica
Interpolation Interpolation
Bezier
Bezier
54
7.2 7.2 – – Aplica Aplica ç ç ão ão na na Computa Computa ç ç ão ão Gr Gr á á fica fica
• • Desenhos Desenhos 3D (Pipeline) 3D (Pipeline)
Rendering
(Criando, sombreando imagens a partir da geometria,
iluminando, materiais) Modelagem (Criando
Geometrias 3D)
55
7.3 7.3 - - Aplica Aplica ç ç ão na Ind ão na Ind ú ú stria stria
Aplica
Aplica ç ç ões T ões T í í picas são: picas são:
• • Design de Carros, Design de Carros, Aeronaves, Aeronaves, e Navios e Navios
• • Simula Simula ç ç ão ão de de Movimentos Movimentos
• • Anima Anima ç ç ões, ões, Ind Ind ú ú stria de Cinema e Computaç stria de Cinema e Computa ç ão Grá ão Gr á fica fica
Modelagem de objetos com superfícies de formas livres
56
8 8 - - REFERÊNCIAS REFERÊNCIAS
• • http://www.sbg.ac.at/mat/staff/revers/rev http://www.sbg.ac.at/mat/staff/revers/rev ers07.html
ers07.html
• • http://www.cse.uiuc.edu/iem/interpolation http://www.cse.uiuc.edu/iem/interpolation /brnstein/
/brnstein/
• • http://en.wikipedia.org/wiki/Bernstein_pol http://en.wikipedia.org/wiki/Bernstein_pol ynomial
ynomial
• • Kenneth Kenneth I. I. Joy Joy , Bernstein , Bernstein Polynomials Polynomials , On , On - - Line
Line Geometric Geometric Notes Notes
57
OBRIGADO!
OBRIGADO!
BEVAKASHA!
BEVAKASHA!
58 i,n
0
0,3 1,3 2,3 3,3
B ( )=0 + 1/3 + 2/3 =1
p(t)=aB ( )+bB ( )+cB ( )+dB ( )
n
i
t
t t t t
59