UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE TECNOLOGIA/SETOR DE CIÊNCIAS EXATAS DEPARTAMENTO DE ENGENHARIA CIVIL/ DEPARTAMENTO DE MATEMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM MÉTODOS NUMÉRICOS EM ENGENHARIA ANÁLISE NUMÉRICA: Uma Abordagem Algorítmica e Computacional , por Lucas Máximo Alves CURITIBA – PARANÁ MARÇO – 2007
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE TECNOLOGIA/SETOR DE CIÊNCIAS EXATAS
DEPARTAMENTO DE ENGENHARIA CIVIL/ DEPARTAMENTO DE MATEMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM MÉTODOS NUMÉRICOS EM ENGENHARIA
ANÁLISE NUMÉRICA:
Uma Abordagem Algorítmica e Computacional
, por
Lucas Máximo Alves
CURITIBA – PARANÁ
MARÇO – 2007
LUCAS MÁXIMOALVES
ANÁLISE NUMÉRICA:
Uma Abordagem Algorítmica e Computacional
,
CURITIBA – PARANÁ
MARÇO – 2007
LUCAS MÁXIMOALVES
ANÁLISE NUMÉRICA:
Uma Abordagem Algorítmica e Computacional
,
Apostila organizada como resultado do estudo das aulas da Disciplina de ANÁLISE NUMÉRICA para obtenção de créditos no curso de Doutorado do Programa de Pós-Graduação em Métodos Numéricos do Setor de Tecnologia/Setor de Ciências Exatas, Departamento de Engenharia Civil/Departamento de Matemática da Universidade Federal do Paraná Orientador: Prof. Dr. José Antonio Marques Carrer Orientador: Prof. Dr.
CURITIBA – PARANÁ
MARÇO – 2007
Dedicatória
Dedico este trabalho a todos os que, não se
conformando com este mundo da forma como o
encontraram, querem torná-lo em um lugar cada vez
melhor, através de suas atitudes e de seu trabalho.
Agradecimentos
Agradeço a Deus pelo seu imenso amor e misericórdia revelado nas oportunidades
que a vida me trouxe. Quero também agradecer:
À minha Família pelo apoio emocional e espiritual, ao meu orientador o Prof. Dr.
....., ao meu Co-Orientador o Prof. Dr. .... , a Maristela Bradil pela amizade e dedicação com
que nos atende, aos amigos, ...., .... ...., ......., e toda a galera do CESEC.
Epígrafe
“vida é um algo multidimensional cuja imprevisível curvatura temporal só é conhecida quando se experimenta os fatos a cada dia e, mesmo assim, não se consegue prever com exatidão a curvatura temporal dos fatos seguintes, mesmo que se expanda esta (a curvatura futura) numa vizinhança em torno do fato no instante presente” (Lucas M. Alves)
Sumário
Apresentação ............................................................................................................................19 Capítulo I ..................................................................................................................................20 INTRODUÇÃO AOS ERROS EM COMPUTADORES ........................................................20 1. 1 - Objetivos do Capítulo .....................................................................................................20
1. 2 - Introdução 20
1. 3 - Noções Básicas sobre Erros ............................................................................................21
1. 4 - Representação dos Números em um Computador ..........................................................22
1. 5 - Aritmética de Ponto Flutuante ........................................................................................24
1.6.1 - Erro absoluto: ................................................................................................................26 1.6.2 - Erro relativo: .................................................................................................................26 1. 7 - Erros de arredondamento e truncamento em um Sistema de Artimética de ponto
Flutuante 27
1.7.3 – Exemplo - 3 ..................................................................................................................27 1.7.1 - Truncamento: ...............................................................................................................28 1.7.2 – Arredondamento ...........................................................................................................28 1.7.4 – Exemplo - 4 ..................................................................................................................30 Solução: 31 Conclusão:31 1. 8 – Erro absoluto e Erro relativo nas Operações Aritméticas com Erros na representação
1. 10 - Exercícios e Problemas .................................................................................................37
Capítulo II.................................................................................................................................38 ARITIMÉTICA DE PONTO FLUTUANTE EM PROGRAMAÇÃO....................................38 2. 1 - Objetivos do Capítulo .....................................................................................................38
2. 2 – Introdução 38
2. 3 – História e Evolução dos Computadores..........................................................................39
2.3.1 - Máquinas Calculadoras Mecânicas ...............................................................................39 2.3.2 - Inicio da Era da Computação – Eletromecânico ...........................................................39 2.3.3 - Inicio da Era da Computação Eletrônica.......................................................................39 2. 4 – Representação Binária de Números................................................................................40
2.4.1 - Esquema de um Computador ........................................................................................40 2.4.2 - Base Numéricas.............................................................................................................40 2.4.3 - Sistema Binário .............................................................................................................40 2.4.4 - Exemplos de Representação de Números .....................................................................42 2.4.5 - Transformação de um Valor Positivo em um Numero Negativo..................................42 2.4.6 - Aritmética Binária .........................................................................................................43 2. 5 – Representação Normalizada ...........................................................................................44
2. 6 – Programação em FORTRAN..........................................................................................45
2. 7 – Exemplos e Aplicações...................................................................................................46
2. 8 – Exercícios e Problemas...................................................................................................47
Capítulo III ...............................................................................................................................48 SISTEMA DE EQUAÇÕES LINEARES ................................................................................48 3. 1 -Objetivos do Capítulo ......................................................................................................48
3. 2 - Introdução 48
3. 3 – Resolução de Sistemas Lineares.....................................................................................49
Capítulo IV ...............................................................................................................................69 ZEROS DE FUNÇÕES E RAIZES DE EQUAÇÕES.............................................................69 4. 1 -Objetivos do Capítulo ......................................................................................................69
4. 2 - Introdução 69
4. 3 - Zeros de Funções Reais...................................................................................................70
4.3.1 - Problema .......................................................................................................................70 4.3.2 - Aproximação inicial para raiz: .....................................................................................70 4.3.3 – Método da Bi-Secção (ou de Bolzano).........................................................................71 Exemplo : 74
4.3.3.1 – Prova da Convergência do Método da Bi-Secção .....................................................76 4. 4 – Iteração Linear 78
4.4.1 - Uma equação de iteração...............................................................................................79 4.4.2 - Um critério de parada para as iterações ........................................................................80 4.4.3 - Conclusão:.....................................................................................................................80 4. 5 - Critério de Convergência para a iteração x = (x)..........................................................82
4.5.1 - Teorema do Valor Médio ..............................................................................................82 4.5.2 - Teorema da Permanência do Sinal ................................................................................82 4.5.3 – Teorema do Limitante da Derivada da função de Iteração...........................................83 4. 6 – Ordem de Convergência de uma Iteração.......................................................................85
4. 7 – Métodos de Aproximação...............................................................................................87
4.7.1 – Método das Aproximações Sucessivas ou Ponto Fixo .................................................87 4.7.1 – Interpretação Geométrica .............................................................................................87 4.7.2 – Método de Newton-Raphson ........................................................................................88 4.7.1 – Interpretação Geométrica .............................................................................................89 4.7.2.1 – Critério de Convergência do Método de Newton-Raphson.......................................90 4.7.2 – Método de Newton-Raphson Modificado ....................................................................92 4.7.1 – Interpretação Geométrica .............................................................................................92 4.7.2.1 – Critério de Convergência do Método de Newton-Raphson Modificado...................95 4.7.3 – Método da Secante........................................................................................................96 4.7.1 – Interpretação Geométrica .............................................................................................96 4.7.3.1 – Cálculo da Ordem de Convergência do Método da Secante ....................................98 4.7.3.2 – Prova da Convergência do Método da Secantes......................................................103 4.7.4 – Método da Falsa Posição ou Regula-Falsi..................................................................104 4.7.1 – Interpretação Geométrica ...........................................................................................104 4. 8 - Exemplos e Aplicações .................................................................................................107
4.8.1 - Problema .....................................................................................................................107 Solução 107 Solução 111 4. 9 - Exercícios e Problemas .................................................................................................113
Solução pelo Método do Ponto Fixo ......................................................................................113 Solução pelo Método de Newton-Raphson ............................................................................117 Solução 120 Capítulo V ..............................................................................................................................123 SISTEMA DE EQUAÇÕES NÃO-LINEARES ....................................................................123 5. 1 - Objetivos do Capítulo ...................................................................................................123
5. 2 - Introdução 123
5. 3 - Exemplos e Aplicações .................................................................................................125
5. 4 - Exercícios e Problemas .................................................................................................126
Capítulo VI .............................................................................................................................127 INTERPOLAÇÃO POLINOMIAL........................................................................................127 6. 1 – Objetivos do Capítulo...................................................................................................127
6. 2 – Introdução 127
6. 3 – Interpolação – Polinômio de Interpolação....................................................................128
6. 5 – Forma de Newton – Interpolação Polinomial por Diferenças Dividas.........................135
6.5.1 – Propriedade das Diferenças Divididas........................................................................136 6.5.2 – Forma de Newton para o Polinômio Interpolador ......................................................137 6. 6 – Estudo do Erro na Interpolação pelo Método de Newton ............................................140
6.6.1 – Teorema de Rolle........................................................................................................140 6.6.2 – Limitante para o Erro..................................................................................................141 6. 7 – Problemas na Interpolação Polinomial .........................................................................142
6. 8 –Interpolação Polinomial de Hermite..............................................................................143
6.8.1 - Teorema.......................................................................................................................143 6.8.2 - Método Alternativo de Newton das Diferenças Divididas .........................................145 6. 9 –Interpolação Polinomial de Bezier ................................................................................146
6.9.1 - Introdução ...................................................................................................................146 6.9.2 - Definições Básicas ......................................................................................................147 6.9.3 - Definição Matemática da Curva de Bezier .................................................................148 6.9.4 - Exemplo de Curva de Bezier.......................................................................................149 6.9.5 - Propriedades da Curva de Bezier ................................................................................151 6.9.6 - Curva de Bezier na Forma Matricial ..........................................................................154 6.9.7 - Conexão de várias Curva de Bezier ...........................................................................155 6.9.8 - Vantagens e Desvantagens da Curva de Bezier .........................................................156 6. 10 – Interpolação Polinomial de Bernstein.........................................................................157
6.10.1 - Motivação de sua Existência .....................................................................................157 6.10.2 - Definição dos Polinômios .........................................................................................158 6.10.3 - Propriedades dos Polinômios ....................................................................................160 6.10.4 - Base de Potência de Bernstein ..................................................................................164 6.10.5 – Aproximação de Funções Contínuas ........................................................................164 Prova 165 6.10.6 - Derivadas dos Polinômios.........................................................................................165 6.10.7 - Matriz de Representação dos Polinômios .................................................................166 6.10.8 - Exemplo de Aplicação de Interpolação de uma curva Bezier...................................167 6. 11 –Interpolação Polinomial por Spline .............................................................................170
6.11.1 - Definição das Splines ................................................................................................170 6.11.2 - Base para splines lineares (n = 1)..............................................................................171 6.11.3 - Base para splines cúbicas (n = 3) ..............................................................................172 6.11.4 - Uso de Splines na Interpolação .................................................................................172 6. 12 –Interpolação Polinomial por B-Spline .........................................................................174
6. 13 – Exemplos e Aplicações...............................................................................................177
6.13.1 – Método de Interpolação de Lagrange – Exemplo 1..................................................177 Solução 177 6.13.2 – Método de Interpolação de Lagrange – Exemplo 2..................................................178 Solução: 178
6.13.3 – Método de Interpolação – Exemplo 3.......................................................................179 Solução: 179 6.13.4 – Método de Interpolação das Diferenças Divididas de Newton – Exemplo - 1.........181 Solução 181 6.13.5 – Análise do Erro no Método das Diferenças Divididas – Exemplo - 1 .....................184 Solução 184 6.13.6 – Método de Interpolação das Diferenças Divididas de Newton – Exemplo - 2.........185 Solução 185 6.13.7 – Cálculo dos Limitantes do Erro – Exemplo - 1 ........................................................187 6.13.8 – Estimativa para o Erro – Exemplo 1.........................................................................188 6.13.9 – Método de Interpolação das Diferenças Divididas de Newton – Exemplo - 3.........189 Solução: 189 b. Limitante do erro em cada caso..........................................................................................191 6.13.10 - Exemplo de Interpolação do Método de Bernstein - 1............................................193 6.13.11 - Exemplo de Interpolação do Método de Hermite - 1 ..............................................194 Solução 194 6.13.12 - Exemplo de Interpolação do Método de Hermite - 2 ..............................................199 Solução 199 6. 14 – Exercícios e Problemas...............................................................................................201
6.14.1 - Trabalho para casa.....................................................................................................201 Capítulo VII............................................................................................................................202 MÉTODOS DE AJUSTE DE CURVAS ...............................................................................202 7. 1 - Objetivos do Capítulo ...................................................................................................202
7. 2 - Introdução 202
7. 3 – Método dos Mínimos Quadrados .................................................................................203
7. 4 - Exemplos e Aplicações .................................................................................................204
7. 5 - Exercícios e Problemas .................................................................................................205
Capítulo VIII ..........................................................................................................................206 INTEGRAÇÃO NUMÉRICA................................................................................................206 8. 1 -Objetivos do Capítulo ....................................................................................................206
8. 4 – Método do Trapézio para a Integração .........................................................................208
8.4.1 - Erro no Método do Trapézio .......................................................................................208 8.4.1 - Exemplo ......................................................................................................................210 8. 5 – Método de Integração de Simpson ...............................................................................211
8.5.1 - Erro no Método de Simpson .......................................................................................213 8.5.2 - Exemplo ......................................................................................................................215 8. 6 – Integração Numérica pelo Método da Quadratura de Gauss ........................................217
8. 7 – Método de Integração de Chébychev ...........................................................................223
8. 9 - Exercícios e Problemas .................................................................................................227
Capítulo IX .............................................................................................................................228 SOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS ..............................................228 9. 1 - Objetivos do Capítulo ...................................................................................................228
9. 2 - Introdução 228
9. 3 – Solução Numérica de Equações Diferenciais ...............................................................229
9. 4 – Métodos de Integração..................................................................................................229
9. 5 – Métodos Iterativos de passo um, usando só anterior nx ...........................................230
9.5.7 - Ordem do Método Numérico ......................................................................................230 9.5.1 - Método de Euler Linear ou de ordem mm ..................................................................231 9.5.2 - Exemplo ......................................................................................................................232 9.5.3 - Solução ........................................................................................................................232 9.5.4 - Método Quadrático da Série de Taylor com Três Termos ..........................................234 9.5.5 - Exemplo ......................................................................................................................234 9.5.6 – Solução .......................................................................................................................234 9.5.10 - Método de Heun ou Método de Euler Modificado ...................................................236 9.9.2 - Exemplo ......................................................................................................................236 9. 6 – Métodos de Runge-Kutta..............................................................................................238
9.6.1 - Método de Runge-Kutta de Ordem 1 ..........................................................................238 9.6.2 - Método de Runge-Kutta de Ordem 2 ..........................................................................238 9.6.3 - Método de Runge-Kutta de Ordem 3 ..........................................................................241 9.6.4 - Método de Runge-Kutta de Ordem 4 ..........................................................................242 9.6.5 - Método de Runge-Kutta de Ordem m.........................................................................244 9.9.2 - Exemplo ......................................................................................................................244 9. 7 – Métodos de Predição-Correção ....................................................................................245
9. 8 – Métodos Implícitos que usam 1nx como Corretor ...................................................246
9.9.1 - Algorimo .....................................................................................................................246 9.9.2 - Exemplo ......................................................................................................................247 9. 9 – Métodos Explícitos, passo múltiplo, que usam 1 2, ,n n nx x x como Previsor ............250
Anexos....................................................................................................................................255 A1 - Os códigos para compilação em MATLAB para Curvas de Bezier...............................255
A2 – Superfícies de Bezier .....................................................................................................257
A3 – Superfícies de B-Spline .................................................................................................259
Figura - 1. 1. Diagrama de transformação de um problema real em um modelo matemático .21 Figura - 1. 2. Seqüência de aparecimento ou introdução natural dos erros nas etapas de cálculo da solução de um problema físico. ...........................................................................................21 Figura - 1. 3. Esquema da faixa de Operação Numérica de um Computador ..........................25 Figura - 1. 4. Representação Esquemática de um Computador................................................40 Figura - 1. 5. Representação Esquemática de um Computador................................................40 Figura - 1. 6. .............................................................................................................................44 Figura - 4. 1. .............................................................................................................................71 Figura - 4. 2. .............................................................................................................................72 Figura - 4. 3. .............................................................................................................................73 Figura - 4. 4. .............................................................................................................................74 Figura - 4. 5. Teorema do valor médio .....................................................................................82 Figura - 4. 6. Função de Iteração ..............................................................................................85 Figura - 4. 7. Representação Geométrica do Método de Aproximações Sucessivas ou Ponto Fixo...........................................................................................................................................87 Figura - 4. 8. Representação Geométrica do Método de Newton-Raphson. ............................89 Figura - 4. 9. Representação Geométrica do Método de Newton-Raphson Modificado..........92 Figura - 4. 10. Representação Geométrica do Método da Secante...........................................97 Figura - 4. 11. Representação Geométrica da Falsa Posição..................................................104 Figura - 4. 12. .........................................................................................................................105 Figura - 6. 1. Escolha da ordem do polinômio de interpolação, Interpolação: Linear, Quadrática, Cúbica. ................................................................................................................128 Figura - 6. 2. ...........................................................................................................................134 Figura - 6. 3. ...........................................................................................................................137 Figura - 6. 4. ...........................................................................................................................140 Figura - 6. 5. ...........................................................................................................................142 Figura - 6. 6. ...........................................................................................................................143 Figura - 6. 7. ...........................................................................................................................148 Figura - 6. 8. Funções de mistura. (a) Polígono de três pontos, n = 2; (b) Polígono de quatro pontos, n = 3; (c) Polígono de cinco pontos, n = 4; (d) Polígono de cinco pontos, n = 5; .....153 Figura - 6. 9. Sergi Natanovich Bernstein quem primeiro utilizou os polínios que levam o seu nome. ......................................................................................................................................157 Figura - 6. 10. .........................................................................................................................160 Figura - 6. 11. .........................................................................................................................167 Figura - 6. 12. .........................................................................................................................168
Figura - 6. 13. .........................................................................................................................168 Figura - 6. 14. .........................................................................................................................168 Figura - 6. 15. .........................................................................................................................169 Figura - 6. 16. .........................................................................................................................169 Figura - 6. 17. .........................................................................................................................169 Figura - 6. 18. a) Spline linear (n = 1); b) Spline cúbica (n = 3). ...........................................170 Figura - 6. 19. .........................................................................................................................171 Figura - 6. 20 ..........................................................................................................................172 Figura - 6. 21.A função B-Spline não passa pelos pontos de controle. ..................................174 Figura - 8. 1. Processo de integração numérica. .....................................................................207 Figura - 8. 2. Transformação de coordenadas do mapeamento linear do contorno................217 Figura - 8. 3. Integral de Gauss da função z() nas coordenadas de generalizadas k...........218 Figura - 8. 4. Processo de Integração de Gauss. .....................................................................221 Figura - 8. 5. Integração de Gauss para um função linear. .....................................................222 Figura - 9. 1. ...........................................................................................................................231 Tabela - IX.1...........................................................................................................................235 Figura - A. 1. Os dezesseis pontos de controle de uma superfície de Bézier. ........................258
Lista de Tabelas
Tabela - I. 1...............................................................................................................................25 Tabela - IV. 1............................................................................................................................75 Tabela - IV. 2..........................................................................................................................108 Tabela - IV. 3..........................................................................................................................112 Tabela - IV. 4..........................................................................................................................112 Tabela - IV. 5..........................................................................................................................113 Tabela - IV. 6..........................................................................................................................114 Tabela - IV. 7..........................................................................................................................115 Tabela - IV. 8..........................................................................................................................116 Tabela - IV. 9..........................................................................................................................117 Tabela - IV. 10........................................................................................................................118 Tabela - IV. 11........................................................................................................................118 Tabela - IV. 12........................................................................................................................119 Tabela - IV. 13........................................................................................................................121 Tabela - VI. 1. Tabela de Diferença Divididas.......................................................................135 Tabela - VI. 2..........................................................................................................................151 Tabela - VI. 3..........................................................................................................................177 Tabela - VI. 4..........................................................................................................................179 Tabela - VI. 5..........................................................................................................................179 Tabela - VI. 6..........................................................................................................................181 Tabela - VI. 7..........................................................................................................................181 Tabela - VI. 8..........................................................................................................................183 Tabela - VI. 9..........................................................................................................................184 Tabela - VI. 10........................................................................................................................184 Tabela - VI. 11........................................................................................................................185 Tabela - VI. 12........................................................................................................................188 Tabela - VI. 13........................................................................................................................189 Tabela - VI. 14........................................................................................................................189 Tabela - VI. 15........................................................................................................................190 Tabela - VI. 16........................................................................................................................190 Tabela - VI. 17........................................................................................................................194 Tabela - VI. 18........................................................................................................................199
Tabela - VI. 19........................................................................................................................199
Lista de Siglas
Lista de Símbolos
Apresentação Esta apostila é resultado da digitação das aulas do prof. José Antonio Marques
Carrer. Ela é resultado de estudos pessoais do estudante de doutorado Lucas Máximo Alves.
Alguns acréscimos as notas de aulas foram feitos com o intuito de se esclarecer mais algum
assunto, ou detalhar algum tópico ou exercício em questão. A idéia é fornecer, a quem possa
interessar, um material com os cálculos detalhados e mastigados para que a consulta seja
rápida e fácil, principalmente para aqueles estudantes que em época de provas sesejam fazer
uma revisão rápida da matéria, lendo-a como se fosse um jornal de notícias, sem embargos e
confusões. A estruturação visual do texto desta apostila procura facilitar uma leitura dinâmica.
Ela foi desenvolvida durante alguns anos de experiência no preparo de notas de aulas na
Universidade Estadual de Ponta Grossa. Esta forma de estruturação busca uma forma de se
obter uma consulta visual rápida e agradável (não cansativa aos olhos), a partir do conteúdo
contido numa página. Pensou-se em uma diagramação do texto de forma que fosse possível
coletar informações do conteúdo das páginas visualmente, para uma rápida reindexação
mental do conteúdo em ministração durante as aulas em tempo real. Desta forma, uma pessoa
familiarizada com o assunto do texto terá facilidade de encontrar o que lhe interessa no
momento, por meio de um rápido exame de uma página de interesse.
Capítulo I
INTRODUÇÃO AOS ERROS EM COMPUTADORES
RESUMO
Neste capítulo será visto uma introdução a teoria matemática dos erros e suas
definições gerais. Serão apontado as principais fontes de erros numéricos. Serão fornecidos
exemplos de casos de erros numéricos para que o estudante possa adquirir uma sensibilidade
no entendimento e na detecção de erros numéricos cometidos em cálculos por computadores.
1. 1 - Objetivos do Capítulo
i) Entender as várias definições de tipos de erro, tais como: erro absoluto e
relativo, etc;
ii) Saber detectar fontes de erros matemáticos;
iii) Saber quantificar, estimar e calcular erros;
iv) Entender a fonte de erros em um computador;
v) Entender como funciona os erros na aritmética de ponto flutuante.
1. 2 - Introdução
O erro experimental é algo inerente a medida. Por outro lado, o erro de cálculo
pode surgir de várias fontes que vão, desde o método de aproximação escolhido até a máquina
utilizada no cálculo. Estudar erros e tipos de erros matemáticos é imprescindível no Cálculo
Numérico de quantidades físicas. Saber estimá-los é de vital importância na ciência e na
engenharia. Saber prevê-los facilita a análise numérica e define os resultados finais dos
cálculos. Dele depende a limitação de muitas estruturas em física química e engenharia.
1. 3 - Noções Básicas sobre Erros
De uma maneira geral, um problema real é descrito, em termos matemáticos, por
meio de equações diferenciais que envolvem variáveis relevantes no estudo do problema real.
Essa seleção de variáveis não deve impedir que o modelo matemático seja uma boa
representação do modelo real, conforme mostra a Figura - 1. 1.
Figura - 1. 1. Diagrama de transformação de um problema real em um modelo matemático
Dado um problema físico, para resolvê-lo devemos matematizá-lo por meio de
equações diferenciais que em geral possui dois tipos de soluções: uma analítica e outra a
solução numérica ou aproximada. Dada uma solução nós teremos erros. É impossível
matematizar em um problema real abarcando todos os detalhes. Portanto, o modelo que
fornece a solução analítica já é uma aproximação do problema real.
A solução analítica é a solução exata do modelo matemático que tenta representar
o problema real. Contudo, já a solução analítica pode ser truncada ou aproximada quando está
é fornecida por uma série infinita, por exemplo. Esta seqüencia de erros é esquematizada na
Figura - 1. 2.
Figura - 1. 2. Seqüência de aparecimento ou introdução natural dos erros nas etapas de cálculo da solução de um problema físico.
Se o modelo matemático não possuir solução analítica pode-se recorrer aos
métodos numéricos para a solução das equações que representam o modelo.
* Métodos Numéricos: Conjunto de procedimentos utilizados para transformar o modelo
matemático em um problema numérico.
A descrição seqüencial dos passos em um número finito, que caracterizam um
método numérico chama-se algoritmo.
Na solução do problema com o emprego de métodos numéricos e de
computadores surgem erros devidos a representação dos números no computador e resultantes
de operações aritméticas. Se x representa a solução analítica e x , a numérica deseja-se saber:
quão próximo x está de x.
1. 4 - Representação dos Números em um Computador
Ao se efetuar os somatórios:
30000
11 5,0,
iii xxS (1. 1)
e
30000
12 1,0,
iii xxS (1. 2)
e
30000
13 0,2,
iii xxS (1. 3)
Usando o seguinte algoritmo em FORTRAN
(1. 4)
Encontram-se os resultados:
Em precisão simples:
S1 = 15000
S2 =3000,576
S3 = 60000
(1. 5)
Em precisão dupla:
S1 = 15000
S2 =2999,99999999837
S3 = 60000
(1. 6)
O resultado correto para S2 seria 3000. A diferença entre esse resultado e os
fornecidos pelo computador, isto é, o erro, ocorre devido à representação de 0,1 no
computador.
A representação de um número depende da base disponível na máquina em uso e
do numero máximo de dígitos usados. Um computador opera, normalmente, no sistema
binário. No dia a dia emprega-se a base decimal. Uma fonte de erros é proveniente da
conversão do sistema binário para o decimal.
De um modo geral, um número na base , ojjj aaaaaa 1221 ... ,
10 ka , jk ,...,2,1,0 , pode ser escrito na forma polinomial:
01
111221 ...... o
jj
jjojjj aaaaaaaaaa
(1. 7)
Por exemplo:
101001234
2 )23(2.12.12.12.02.110111 (1. 8)
O número 10)5,0( possui representação finita na base 2, igual 2)1,0( ; o número
10)1,0( possui representação infinita na base 2...)00110000110011,0(2
Um número inteiro decimal sempre pode ser representado exatamente no sistema
binário porque os números inteiros podem ser expressos como a soma de potências de 2.
Uma fração racional só pode ser expressa por um número finito de dígitos no
sistema binário quando pode ser escrita como o quociente de dois inteiros p/q onde q é uma
potência de 2: q = 2n para algum inteiro n.
1. 5 - Aritmética de Ponto Flutuante
Um computador representa um número real no sistema denominado aritmética de
ponto flutuante.
A forma normalizada de um número representado na base em aritmética de
ponto flutuante de t dígitos é:
etddd .... 21 (1. 9)
onde 0;,...,2,1;10 1 dtjd j (forma normalizada), “ e ” é o expoente
no intervalo ],[ ul ; em geral , ul .
A nomenclatura utilizada é a dos logaritmos: O expoente é denominado
característica e a parte fracionária, mantissa.
1.5.1 – Exemplo - 1
Considerando uma máquina que opera no sistema: ]5,5[,3,10 et
nesse sistema os números serão representados como:
11 2
0. ... 10
0 9, 1, 2, 3e
tj
dd d d
d j t
(1. 10)
O maior número representado é (em módulo):
9990010.999,0 5 M (1. 11)
O menor é:
65 1010.100,0 m (1. 12)
Para um número real x:
1) Mxm
Se
310.23589,089,235 x (1. 13)
com truncamento:
310.235,0x (1. 14)
com arredondamento:
310.236,0x (1. 15)
2) underflowmx e overflowMx
Estes números não podem ser representados nesta máquina porque estão fora dos
intervalos de representação dos números.
Conforme mostra a Figura - 1. 3
Figura - 1. 3. Esquema da faixa de Operação Numérica de um Computador
1.5.2 – Exemplo - 2
Representar os números em um sistema de aritmética de ponto flutuante de três
dígitos com 10 e ]4,4[e , 999010.999,0;1010.1,0 454 Mm
Na Figura 4.1 temos a curva gerada pelos pontos e sobre a curva em destaque os pontos para
diferentes variações do parâmetro.
6.9.5 - Propriedades da Curva de Bezier
As funções bases são reais
A forma da curva geralmente acompanha a forma do polígono de definição (na
verdade é uma versão “suavizada” do polígono). Assim para desenhar uma curva, basta
definir o polígono e depois ajustar os pontos que forem necessários para aproximar melhor a
forma desejada. Isso torna a definição adequada para o design iterativo. Um projetista
experiente consegue obter a forma desejada depois de 2 ou três iterações com um sistema
computacional
O primeiro e o último ponto da curva coincidem com o primeiro e o último ponto,
respectivamente, do polígono de definição.
Os vetores tangentes nos extremos da curva têm a mesma direção que o primeiro e
o último segmento do polígono de definição, respectivamente.
A curva esta contida no fecho convexo do polígono (“convex hull”).
A curva exibe a propriedade da variação decrescente (“variation diminishing
property”). Isto significa, basicamente, que a curva não oscila em relação a qualquer linha reta
com mais freqüência que o polígono de definição. Algumas representações matemáticas têm a
tendência de amplificar, ao invés de suavizar, quaisquer irregularidades no formato esboçadas
pelos pontos de definição, enquanto outras, como as curvas de Bézier, sempre suavizam os
pontos de controle. Assim, a curva nunca cruza uma linha reta arbitrária mais vezes que a
seqüência de segmentos que conectam os pontos de controle.
A curva é invariante sob transformações afins. Esta propriedade garante que os
dois procedimentos descritos abaixo produzem o mesmo resultado.
primeiro calcula um ponto da curva, e depois aplica a ele uma transformação afim;
primeiro, aplica uma transformação afim ao polígono de definição e depois gera a curva.
Uma conseqüência prática: suponha que traçamos uma curva cúbica calculando
100 pontos sobre ela; e que agora queremos desenhar a mesma curva depois de uma rotação.
Podemos aplicar a rotação a cada um dos 100 pontos, e desenhar os pontos
resultantes, ou aplicar a rotação a cada um dos 4 pontos do polígono de controle, calcular
novamente os 100 pontos e traçá-los. A primeira estratégia requer que a rotação seja aplicada
100 vezes, e a segunda requer a aplicação apenas 4 vezes! È interessante observar que as
curvas de Bézier não são invariantes sob transformações projetivas.
Interpolação dos pontos extremos
Os vetores tangentes dos pontos extremos têm a mesma direção dos segmentos do
polígono de controle.
Pode-se mostrar que para qualquer valor do parâmetro t, o somatório das funções
base é a unidade, isto é:
,0
1n
n ii
J
(6. 95)
Observação: As curvas de Bézier não são invariantes sob transformações projetivas.
Alguns resultados
i n in,i n
ni i (n i)Jin n
(6. 96)
O máximo valor para cada função de mistura ocorre em t = i/n e é dado por:
Por exemplo, para uma cúbica (n=3). O Máximo valor para J3,1 e J3,2 ocorre em
1/3 e 2/3, respectivamente, com os valores :
J3,1(1/3) = 4/9 e J3,2(2/3)= 4/9 (6. 97)
Os gráficos abaixo mostram as funções de mistura para alguns valores de n.
Figura - 6. 8. Funções de mistura. (a) Polígono de três pontos, n = 2; (b) Polígono de quatro pontos, n = 3; (c) Polígono de cinco pontos, n = 4; (d) Polígono de cinco pontos, n = 5;
O primeiro ponto da curva coincide com o primeiro ponto do polígono de
definição, isto é:
00 BP (6. 98)
Prova:
Aqui definiremos que 00 =1.
n 0n,0
i n in,i
n!(1)(1 0)J (0) 1 para i 0n!
n!(0) (1 0)J (i) 0 para i 0i!(n i)!
(6. 99)
Portanto:
0 ,0 0 00 0 .1nP B J B B (6. 100)
Similarmente para o último ponto da curva, isto é, para t =1,
,
,
!(1) (0)(1) 1!(1)
!( ) (1 1) 0!( )!
n n nn n
i n in i
nJ para i nn
nJ i t para i ni n i
(6. 101)
Portanto:
,1 1 .1n n n n nP B J B B (6. 102)
Além disso, pode-se mostrar que para qualquer valor do parâmetro t, o somatório das funções
base é a unidade, isto é:
,0
1n
n ii
J t
(6. 103)
6.9.6 - Curva de Bezier na Forma Matricial
A equação para a curva de Bézier pode ser expressa na forma matricial, da seguinte forma, para n = 3
0
3 2 12 3
2
3
( ) [ 1 3 1 3 ]
BB
P t t t t t tBB
(6. 104)
Desenvolvendo e agrupando os termos do parâmetro podemos reescrever como
0
13 2
2
3
1 3 3 13 6 3 0
( ) 13 3 0 0
1 0 0 0
BB
P t t t tBB
(6. 105)
De modo análogo para n = 4, a curva de Bézier correspondente a 5 pontos de controle é
0
14 3 2
2
3
4
1 4 6 4 14 12 12 4 0
( ) 1 6 12 6 0 04 4 0 0 0
1 0 0 0 0
BB
P t t t t t BBB
(6. 106)
De uma forma geral uma curva de Bézier pode ser expressa na forma matricial como
P(t) = T N G = F G (6. 107)
onde F = Jn,0 Jn,1 ... Jn,n (Funções de Mistura) e G = B0, B1,..., Bn (Vértices do polígono de
definição)
Observações:
Para qualquer valor de n a matriz [N] é simétrica em relação a diagonal principal;
O canto triangular inferior (abaixo da diagonal principal) direito contém apenas
zeros.
6.9.7 - Conexão de várias Curva de Bezier
Em geral, uma forma complexa não pode ser modelada por uma única curva, mas
por várias curvas que são conectadas em seus pontos extremos. Ao criar as junções temos que
controlar a continuidade nos pontos de junção. Neste ponto surge uma pergunta. O que
significa continuidade?
Continuidade de ordem 0, C0, significa que duas curvas se encontram.
Continuidade de primeira, C1, ordem exige que as curvas tenham tangentes
comuns no ponto de junção.
Continuidade de Segunda ordem, C2 ,exige que as curvaturas sejam as mesma
A forma mais simples de continuidade C0 assegura que a curva ou a união de
curvas não terá descontinuidade. O nível seguinte C1 indica que a inclinação ou a derivada
primeira da curva é constante em todos os pontos. A continuidade C2 implica continuidade na
derivada segunda da curva e assim por diante.
As derivadas (primeira e segunda) das curvas de Bézier são dadas por:
n
i iin
n
i itJBtPeJBtP
0,0)('')('','' (6. 108)
onde:
2 2
, , , ,2 2(1 2 )
' ( ) ( ) '' ( ) ( )(1 ) (1 )
n i n i n i n ii nt i nt nt i t
J t J t e J t J tt t t t
(6. 109)
pode ser demonstrado que:
P’ (0) = n(B1-B0) . (6. 110)
P’ (1) = n(Bn-Bn-1) (6. 111)
P’’(0) = n(n-1)(B0-2B1+B2) (6. 112)
P’’(1) = n(n-1)(Bn-2Bn-1+Bn-2) (6. 113)
6.9.8 - Vantagens e Desvantagens da Curva de Bezier
Pode ser demonstrado que:
O controle da curva é global. Isto significa que a mudança de um ponto do
polígono de definição (ponto de controle) implica na mudança de toda a curva. Para controle
local deve-se utilizar B-Spline(ver Anexo A), que uma evolução da curva de Bézier;
O número de pontos do polígono de definição especifica diretamente o grau da
curva gerada. Desta forma o aumento no número de pontos do polígono de definição aumenta
o custo de avaliação da curva e suas derivadas;
A construção de desenhos complexos é acelerada com o uso das curvas Bézier.
6. 10 – Interpolação Polinomial de Bernstein
Na matemática sub-área de Análise Numérica, os polinômios de Bernstein, foram
chamados assim, depois que o matemático Sr. Sergi Natanovich Bernstein, que inventou esses
polinômios, que levam o seu nome, utilizou-os pela primeira vez para realizar uma prova
construtiva do Teorema de Aproximação de Stone-Weierstrass. Com o advento da computaçã
gráfica os polinômios de Bernstein tornaram-se importante na interpolação de curvas de
Bezier.
Figura - 6. 9. Sergi Natanovich Bernstein quem primeiro utilizou os polínios que levam o seu nome.
Na interpolação eles formam um polinômio capaz de ajustar curvas suaves por
meio de uma combinação linear da base polinomial de Bernstein. Prefere-se sobre outras
interpolações polinomiais porque:
• É mais eficiente.
• Outros polinômios de altos graus são computacionalmente mais caros.
• Erros pequenos.
• A curva interpolante é mais suave.
• Melhor controle sobre a forma das curvas
• Manipulação flexível de curvas com garantia e controle de forma da curva resultante
• Introdução de pontos de controle que não necessariamente estende-se sobre a curva.
6.10.1 - Motivação de sua Existência
A motivação da existência dos polinômios de Bernstein surgiu da forma do
Binômio de Newton como:
n
i
iinn bain
ba0
)( (6. 114)
Os polinômios de Bernstein são os termos da Série Binomial de Newton, formando uma
seqüência de funções.
6.10.2 - Definição dos Polinômios
Os polinômios de Bernstein de grau n são definidos como:
( ) (1 ) com 0,1 , 0,...,n n i ii
nB t t t t i n
i
(6. 115)
para ni ,...,2,1,0 onde os seus coeficientes binomiais são dados por:
! 0!( )!
0 0
n para i nni n i
ipara i n
(6. 116)
Observe que os expoentes desse polinômio em t aumenta de uma unidade e os
expoentes em (1 - t) diminuem de uma unidade conforme o índice i aumenta. Os polinômios
de Bernstein de graus 1, 2, 3 e 4 são mostrados na Figura - 6. 10 para o intervalo de 10 t .
ttttttB
ttttttB
01111,1
0011,0
)1()!11(!1
!1)1(11
)(
)1()1()!01(!0
!1)1(01
)( (6. 117)
2202222,2
111122,1
202022,0
)1()!22(!2
!2)1(22
)(
)1()1()!12(!1
!2)1(12
)(
)1()1()!02(!0
!2)1(02
)(
ttttttB
tttttttB
ttttttB
(6. 118)
3303333,3
2212233,2
2121133,1
303033,0
)1()!33(!3
!3)1(33
)(
)1(3)1()!23(!2
!3)1(23
)(
)1(3)1()!13(!1
!3)1(13
)(
)1()1()!03(!0
!3)1(03
)(
ttttttB
tttttttB
tttttttB
ttttttB
(6. 119)
Figura - 6. 10.
6.10.3 - Propriedades dos Polinômios
Vejamos algumas das propriedades dos polinômios de Bernstein
1) Intervalo de validade
( ) 0,1 ,0 , 0,1niB t n i n t (6. 120)
2) Recursividade:
Os polinômios de Bernstein de grau n podem ser definidos junto com os
polinômios de grau 1n . Isto é, o n’esimo grau do polinômio de Bernstein pode ser escrito
como:
)()()1()( 1,11,, ttBtBttB nknknk (6. 121)
Para mostrar isto, nós precisamos usar a definição do polinômio de Bernstein e alguma
álgebra simples:
3) Positividade:
( ) 0 [0;1]nvB t x (6. 122)
4) Partição de uma Unidade:
0 ( ) 1 t 0,1 n nii B t
(6. 123)
Prova:
0 0
1 1
1 ( )
n
n nn i i nii i
t t
nt t B t
i
(6. 124)
5) Simetria
( ) (1 )n ni n iB t B t (6. 125)
6) Grau Crescente:
7) Forma n escolhas i do Triângulo de Pascal
n n-1 n-1n! = = + i i i-1i!(n - i)!
(6. 126)
00 : : 1
0
1 11: , : 1 + 1
0 12 2 2
2 : , , : 1 + 2 + 10 1 23 3 3 3
3: , , , : 1 + 3 + 3 +10 1 2 34 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
Alguns polinômios de Interpolação formam uma base de funções ortogonais, quer sejam: - Polinômios de Lagrange - Polinômios de Bernstein - Polinômios de Hermite - etc. 10)
( ) 0nvB t (6. 130)
11) Se 0 ou v v n
,0(0)nv vB (6. 131)
e
,(1)nv v nB (6. 132)
onde ,v n é o Delta de Kröenecker.
12)
( )nvB t (6. 133)
Possui uma raiz de multiplicidade v no ponto 0t (note que se 0v não existe raiz em
0t . Possui uma raiz com multiplicidade n v no ponto 1t (note que se v n ao existe
raiz em 1t )
13)
(1 ) ( )n n vv vB t B t (6. 134)
14) Se 0v , então ( )nvB t possui um único máximo local no intervalo [0;1] em /t v n .
Este máximo toma valores:
( )v n n v nv n n v
v
(6. 135)
6.10.4 - Base de Potência de Bernstein
A base polinomial de Bernstein de grau n formam uma base no espaço vetorial de
funções de grau n. Uma combinação linear da base polinomial de Bernstein é dada por:
0 0, 1 1, ,( ) ( ) ( ) ... ( )n n n n nB t b B t b B t b B t (6. 136)
onde os coeficientes ib são chamados de coeficientes de Bernstein ou coeficientes de Bezier.
6.10.5 – Aproximação de Funções Contínuas
Seja ( )f x uma função contínua sobre o intervalo [0;1]. Considere o polinômio
de Bernstein dado por:
0( )( ) ( ) ( )
nn
n vv
vB f t f B tn
(6. 137)
Pode-se mostrar que:
lim ( )( ) ( )nnB f t f t
(6. 138)
Uniformemente sobre o intervalo [0;1]. Esta é uma condição mais forte do que a proposição
de que o limite se mantém para cada valor de t separadamente, que deveria ser uma
convergência ponto a ponto além da convergência uniforme. Especificamente, a palavra
uniformemente significa que:
lim sup ( ) ( )( ) para 0 1 0nnf t B f t t
(6. 139)
Os polinômios de Bernstein então tenha recursos para de uma forma provar o teorema da
aproximação de Stone-Weieerstrass que toda função contínua de valor real sobre um intervalo
real [a;b] pode ser uniformemente aproximada por funções polinomiais em R.
Uma condição mais geral para uma função com derivada k’ésima continua é:
( )( ) ( )( ) ( ) ( )kk k
n knB f t f tn
(6. 140)
e
( ) ( )( ) ( ) ( ) 0k k
nf t B f t
(6. 141)
Onde aditivamente
( ) 0 1 11 1 ... 1kk
n kn n nn
(6. 142)
é um auto valor de ( )( )nB f t , as correspondentes autofunção é um polinômio de graus k.
Prova
6.10.6 - Derivadas dos Polinômios
6.10.7 - Matriz de Representação dos Polinômios
Um polinômio ( )B t pode ser expresso na base polinomial de Bernstein como:
)(...)()()( ,,11,00 tBctBctBctB nnnnn (6. 143)
Em termos de vetores, este é facilmente escrita como:
n
nnnn
c
cc
tBtBtBtB:
)(...)()()( 1
0
,,1,0 (6. 144)
Nós podemos converter a expressão anterior para matrizes onde:
nnnnn
n
c
cc
bbb
bbb
tttB:
...::::0...0...0
...1)( 1
0
,1,0,
1,10,1
0,0
(6. 145)
Como por exemplo:
3 2 2 30 1 2 3( ) (1 ) [3 (1 ) ] [3 (1 )]B t P t P t t P t t Pt (6. 146)
onde
0
13 2
2
3
1 3 3 13 6 3 0
( ) 13 3 0 0
1 0 0 0
PP
B t t t tPP
(6. 147)
Este resultado nos ajudará a interpolar uma curva de Bezier como será visto em seguida.
6.10.8 - Exemplo de Aplicação de Interpolação de uma curva Bezier
Dado uma série de pontos de controle onde
0N
i iP
(6. 148)
Definição: Uma curva Bezier de grau N é:
,0
( ) ( )B
i n ii
P t PB t
(6. 149)
onde , ( )n iB t para i = 0, 1, …, N, são os polinômios de Bernstein de grau N. P(t) é a curva de
Bezier. Uma vez que ( , )i i iP x y .
,0
( ) ( )N
i n ii
x t x B t
(6. 150)
e
,0
( ) ( )N
i n ii
y t y B t
(6. 151)
É fácil modificar as curvas se os pontos são acrescentados
• Problema: Ache a curva Bezier que possui os seguintes pontos de controle {(x,y)={
(2,2), (1,1.5), (3.5,0), (4,1)}.
Figura - 6. 11.
• Solução: Substitui-se as coordenadas x- e y- dos N = 3 pontos de controle dentro das
fórmulas x(t) e y(t):
3 3 3 30 1 2 33 3 3 30 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
(6. 152)
Mostramos nas figuras abaixo simulações de aproximação de funções por meio
dos polinômios de Bernstein
Figura - 6. 12.
Figura - 6. 13.
Figura - 6. 14.
Figura - 6. 15.
Figura - 6. 16.
Figura - 6. 17.
6. 11 –Interpolação Polinomial por Spline
No estudo de métodos numéricos é muito comum o desenvolvimento de funções
em séries de Taylor. Entretanto, a aproximação por uma série de potências só é possível
quando a função possui derivadas no ponto ao redor do qual estamos trabalhando. A série de
Taylor nos permite obter uma aproximação de f(x) através de polinômios em h.
(6. 153)
A aproximação por polinômios tem uma vantagem da propriedade da analiticidade.
As funções polinomiais por partes, chamadas splines, apresentam boas
propriedades de aproximação, convergência e estabilidade com respeito aos erros de
arredondamento. As funções splines estão associadas a uma partição predeterminada no
intervalo [ ; ]a b definido pelos pontos 0 1, ,... mx x x tais que:
0 1 2: ... ma x x x x b (6. 154)
em cada subintervalo 1; , 1,2,...,i ix x i m os splines são polinômios (que possui todas as
derivadas). Estes pedaços de polinômios são “colados” convenienetemente para que algumas
derivadas, da ordem ditada no problema, exitam em todo o intervalo [ ; ]a b .
6.11.1 - Definição das Splines
Uma função ( )xS é chamada spline de grau n, associada a uma partição (2) de
[ ; ]a b , se:
i) ( )xS é um polinômio de grau n em cada subintervalo 1; i ix x ;
ii) ( )xS tem (n-1) derivadas contínuas em cada ix , isto é, ( )xS é uma função com (n-1)
derivadas em ;a b
Figura - 6. 18. a) Spline linear (n = 1); b) Spline cúbica (n = 3).
A amplitude das aplicações de splines em métodos numéricos deve-se a utilização
dessas funções para gerar espaços de dimensão finita que aproximam problemas de dimensão
infinita.
É possível estabelecer base a partir de funções splines. Dada a base 1( ) ki ix ,
qualquer elemento deste espaço vetorial pode ser escrito como:
(6. 155)
Onde 1 2, ,..., kc c c são os coeficientes da combinação linear e k é a dimensão do espaço
vetorial
6.11.2 - Base para splines lineares (n = 1)
A base para funções lineares é dada por:
(6. 156)
Graficamente temos as chamadas funções chapéu, conforme mostra a Figura - 6. 19
Figura - 6. 19.
Usando esta base, as splines de grau 1 associadas a partição definida por
0 1, ,... mx x x , as quais são retas por partes podem ser escritas na forma:
(6. 157)
Onde ( )ixiS S são os valores que ( )xS assumem em ix
6.11.3 - Base para splines cúbicas (n = 3)
A expressão analítica para base para funções cúbica é dada por:
(6. 158)
Graficamente temos as funções ( )iB x , que são sinos com vértices em ix , conforme mostra a
Figura - 6. 20
Figura - 6. 20
Pode-se observar que, para completar a base no intervalo 0; mx x , é necessário introduzir
nós adicionais. Isto ocorre porque a função 1( )B x têm influência no intervalo 0; mx x , uma
vez que 1( ) 0B x em 0; mx x . Assim como a função 1( )mB x também contribui no
intervalo 0; mx x . A combinação linear destas funções é:
(6. 159)
6.11.4 - Uso de Splines na Interpolação
Para o uso das splines na interpolação, tomamos os pontos de interpolação como
os nós da partição das funções splines. Na interpolação linear por partes da função f(x) nos
pontos , 1,2,...,ix i n procuramos os coeficientes ai tais que:
(6. 160)
Como visto anteriormente 0i jl x se i j e 1i jl x se i j . Portanto,
(6. 161)
No caso linear o spline que interpola 0, 1, 2,... nf f f f é obtido de imediato:
0
( ) 1m
i ii
x f l x
1S (6. 162)
No caso de splines cúbicas procuramos os coeficientes ia , tais que:
1
1( ) 1
n
i ii
x a B x
3S (6. 163)
E
( ) , 0,1, 2,...,j j jx f x f j n 3S (6. 164)
Onde ( )iB x é a base das splines cúbicas. A figura que ilustra as splines cúbicas mostra que,
para cada jx , os únicos valores diferentes de zero são 1 1( ), ( ) e ( )j j i j j jB x B x B x . Assim
para cada ponto de interpolação teremos:
(6. 165)
Como os pontos de interpolação foram escolhidos como nós da malha, temos que
1( ) 1j jB x , ( ) 4i jB x e 1( ) 1j jB x . Lembrando a condição de interpolação temos:
(6. 166)
temos um sistema de incógnitas ai:
(6. 167)
Este sistema possui n+1 equações e n+3 incógnitas, que são 1 0 1 2 1, , , ,..., ,n na a a a a a para
resolver este sistema precisamos de duas condições adicionais:
6. 12 –Interpolação Polinomial por B-Spline
A B-Spline é uma “versão” da Spline Natural, com controle local, isto é, as
alterações nos pontos de controle da B-Spline apenas se propagam para os vizinhos mais
próximos. A função B-Spline não passa pelos de controle (Figura A.1). Outra característica
básica é que ela pode ser gerada para qualquer número de pontos de controle e grau de
polinômio, ou seja, o grau do polinômio pode ser selecionado de maneira independente do
número de pontos de controle. No entanto, é claro que o grau i de continuidade Ci depende da
ordem dos polinômios usados nas funções de base.
Figura - 6. 21.A função B-Spline não passa pelos pontos de controle.
Nas aplicações que usam curvas de formas livres para projetos de modelos,
curvatura contínua é geralmente um fator importante e por isso B-Splines são
preferencialmente usadas.
As curvas B-Splines de grau n podem, por sua vez, descrever uma seqüência de
curvas de Bézier de grau n conectadas suavemente entre si (Continuidade Cn-1).
A forma geral da curva B-Spline é bastante semelhante a da curva de Bézier. Um
conjunto de funções Ni,k(t) combina o efeito dos pontos de controle para gerar a curva:
n
ikii tNBtP
0, (6. 168)
As diferenças fundamentais entre ambas são as funções Ni,k(t) (i = 0, 1, ..., n)
usadas. O parâmetro k controla a ordem de continuidade da curva, e n o número de pontos de
controle usados. O parâmetro t também pode ter maior gama de variação do que nas curvas
anteriores. Assim Ni,k representa funções de grau (k-1) (ordem do polinômio) e curvas de
continuidade Ck-2.
Cada uma das funções Ni,k (t) é definida de maneira recursiva pelas equações:
tervalosnosdemaittt
tN iii sin,0
,1 11, (6. 169)
tNtttt
tNtt
tttN ki
iki
kiki
iki
iki 1,1
11,
1,
(6. 170)
Como o denominador pode se tornar zero, usa-se a convenção: 0/0 = 0. Essa formulação
requer a escolha de um conjunto de valores ti chamados nós, que se relacionam ao parâmetro
t. As únicas restrições impostas a esses nós são:
Estejam em ordem não decrescente, ou seja, os valores dos elementos ti devem
satisfazer a relação ti ≤ ti+1;
Um mesmo valor não deve aparecer mais que k vezes, ou seja, não pode surgir mais vezes que
a ordem da Spline usada. Esses valores de nós idênticos são referidos como nós múltiplos, ou
nós em multiplicidade.
Como as curvas de Bézier, as Splines satisfazem também a propriedade de
envoltória convexa. Satisfazem também a propriedade normalizante já que:
n
iki tN
0, 1 (6. 171)
Em uma curva B-Spline, o número de pontos de controle (n+1), o grau (k-1) e o
número de nós estão relacionados. Supondo que estes nós sejam t0, t1, t2 ... tm , essas
características se relacionam pela expressão: m = n + k
Há mais opções para manipular as curvas B-Splines que as curvas de Bézier. Nas
curvas de Bézier, as formas geométricas podem ser alteradas pelos pontos de controle e pelo
grau da curva. Nas curvas B-Splines, além desses dois conjuntos de variáveis, as formas
podem ser afetadas através:
Dos espaçamentos dos intervalos entre ti e ti+1. Quando os espaçamentos forem
iguais, dizemos que são curvas B-Splines uniformes, caso contrário, curvas B-Splines não
uniformes;
Do uso de múltiplos nós no vetor de nós (os nós são geralmente apresentados
como vetores);
Do uso de múltiplos pontos de controles;
Vários aplicativos possuem rotinas para a construção de curvas B-Splines, como
por exemplo:
Maple, um sistema de álgebra computacional comercial de uso genérico que
incorpora o método Bspline;
Adobe Systems, companhia que desenvolve programas de computador e que
explora intensivamente curvas B-Splines;
6. 13 – Exemplos e Aplicações
6.13.1 – Método de Interpolação de Lagrange – Exemplo 1
1) Dada tabela:
Tabela - VI. 3.
x -1 0 2
y 4 1 -1
Obter os polinômios de Lagrange de ordem dois que interpola esses pontos:
Solução
O polinômio de Lagrange de ordem dois é dado por:
)()()()( 22112 xLyxLyxLyxP oo (6. 172)
onde
32
)21)(01()2)(0()(
2 xxxxxLo
(6. 173)
e
)2(21
)20))(1(1()2))(1(()( 2
1
xxxxxL (6. 174)
e
6)02))(1(2()0))(1(()(
2
2xxxxxL
(6. 175)
logo
)2(61)2(
21
3)2(4)( 22
2
2 xxxxxxxP
(6. 176)
Portanto,
137
32)(
2
2 xxxP (6. 177)
6.13.2 – Método de Interpolação de Lagrange – Exemplo 2
2) Sabe-se que a equação 0xx e admite uma raiz no intervalo (0, 1). Determine o valor
dessa raiz utilizando interpolação quadrática (sugestão: utilize os pontos x = 0,
x = 0,5 e x = 1 para determinar o polinômio interpolador) e compare o valor calculado com o
obtido através da solução da equação (utilizando, por exemplo, o método Newton-Raphson).
Observe que a aproximação deste método é bem melhor.
9.5.8 - Método de Heun ou Método de Euler Modificado
O Método de Heun é uma modificação do Método de Euler, que utiliza a
expressão de Linear de Euler auto-recursivamente.
Dada a expressão
1 ( , )k k k ky y hf x y (9. 29)
onde
( , )k kdyf x ydx
(9. 30)
temos que
1 1( , ) ( , ( ( , ))k k k k k kf x y f x h y h f x y (9. 31)
Considerando que a reta passa pelo ponto ( , )k kx y e cujo coeficiente angular é
igual a
1 1( , ) ( , )2
k k k kf x y f x y (9. 32)
Substituindo-se (9. 31) em (9. 32) e depois em (9. 29) obtém-se a expressão do Método de
Heun:
1 , , ,2k k k k k k k khy y f x y f x h y hf x y (9. 33)
O Método de Heun é um aperfeiçoamento do método de Euler e é um método de
segunda ordem ou ordem 2.
9.5.9 - Exemplo
Resolver a seguinte equação diferencial
'y y x (9. 34)
Com (0) 2y e calcular (1)y utilize o Método de Heun com 0,25h .
9.5.10 - Solução
Utilizando a fórmula:
1 ( , ) ( , ( , ))2k k k k k k k khy y f x y f x h y hf x y (9. 35)
Calculando os valores de:
1
2
3
4
0 2,531251 3,1416022 3,8533023 4,684856
n yn yn yn y
(9. 36)
Onde
0 1 2 3 40; 0, 25 ; 0,5 ; 0,75 ; 1,0x x x x x (9. 37)
A solução analítica é:
4 4,718282y (9. 38)
9. 6 – Métodos de Runge-Kutta
Nos Métodos de Runge-Kutta, o cálculo do valor das derivadas da função
( , )f x y nos pontos ( , )k kx y é substituindo pelo cálculo da função ( , )f x y em pontos
convenientes, produzindo resultados equivalentes.
9.6.1 - Método de Runge-Kutta de Ordem 1
O Método de Euler é o Método de Runge-Kutta de ordem um. A expressão deste
Método de Runge-Kutta de ordem um é dada por:
'1 ( , )
kk k k k ky y hf x y y hy (9. 39)
9.6.2 - Método de Runge-Kutta de Ordem 2
Para obter uma expressão correspondente no Método de Runge-Kutta de ordem 2,
considera-se que a expressão
2
1 ( , ) '( , )2!k k k k k khy y hf x y f x y (9. 40)
Pode ser substituída por outra expressão equivalente do tipo:
1 1 2( )k ky y h ak bk (9. 41)
Igualando (9. 40) com (9. 41) temos
1 2 ( , ) '( , )2!k k k khak bk f x y f x y (9. 42)
Como 1 2,k k são coeficientes angulares, podemos fazer:
1 ( , )k kk f x y (9. 43)
2 ( , ( , ))k k k kk f x ph y qhf x y (9. 44)
As incógnitas são , , ,a b p q .
Expandindo a função 2k em torno do ponto ( , )k kx y através da Série de Taylor,
para duas variáveis temos:
22
2( , ) ( , ) ( , )
2 22
2( , ) ( , )
Série de Taylor para duas variáveis
1( , ) ( , ) ( ) ( ) ( )2!
1 2( )( ) ( ) .....2!
a b a b a b
a b a b
f f ff x y f a b x a y b x ax y x
f fx a y b y bx y y
(9. 45)
Logo,
2 ( , ( , )) ( , ) ( , )k k k k k k k kh h
f fk f x ph y qhf x y f x y ph qhf x yx y
(9. 46)
Então:
1 ( , ) ( , ) ( , )k k k k k k k kh h
f fy y h af x y b f x y ph qhf x yx y
(9. 47)
e
21 ( ) ( , ) ( , )k k k k k k
h h
f fy y h a b f x y h b p qf x yx y
(9. 48)
Como:
1( , )'( , ) k
df x y f dx f dy f ff x y y fdx x dx y dx x x
(9. 49)
então, substituindo (9. 49) na expressão em Série de Taylor dado por:
2
1 ( , ) ( , )2!k k k k k k
h h
h f fy y hf x y q f x yx y
(9. 50)
Igualando (9. 49) com (9. 50) temos:
2 2( ) ( , ) ( , )k k k kh h
f fh a b f x y h bp h bqf x yx y
(9. 51)
e
2 2
( , ) ( , )2 2k k k k
h h
h f h fhf x y f x yx y
(9. 52)
logo
11212
a b
bpp q
bq
(9. 53)
Fazendo 1 112 2
p q b e a , Logo:
1 , , ,2k k k k k k k khy y f x y f x h y hf x y (9. 54)
1 1 22k khy y K K (9. 55)
onde
1 ,k kK f x y (9. 56)
e
2 1,k kK f x h y hK (9. 57)
9.6.3 - Método de Runge-Kutta de Ordem 3
Proposta do professor (que não se encontra nos livros) – Método de Runge-Kutta
de ordem 3.
2 3
1 , ' , '' ,2! 3!k k k k k k k kh hy y hf x y f x y f x y (9. 58)
e
1 1 2 3k ky y aK bK cK (9. 59)
onde
1 ,k kK f x y (9. 60)
e
2 1
2
,
, ,k k
k k k k
K f x h y hK
K f x ph y q x y
(9. 61)
e
3 , ?k kK f x rh y (9. 62)
9.6.4 - Método de Runge-Kutta de Ordem 4
A expressão do Método de Runge-Kutta de ordem quatro é dada por:
1 1 2 3 42 26k khy y K K K K (9. 63)
onde
1 ,k kK f x y (9. 64)
e
2 1,2 2k kh hK f x y K
(9. 65)
e
3 2,2 2k kh hK f x y K
(9. 66)
4 3,k kK f x h y hK (9. 67)
9.6.5 - Exemplo
Resolver a seguinte equação diferencial
'y y x (9. 68)
Com (0) 2y e calcular (1)y utilizando Método de Runge-Kutta de ordem quatro (4) com
0,25h .
9.6.6 - Solução
Utilizando a fórmula:
(9. 69)
Calculando os valores de:
1
2
3
4
0 2,5340171 3,1487002 3,8669593 4,718211
n yn yn yn y
(9. 70)
Onde
0 1 2 3 40; 0, 25 ; 0,5 ; 0,75 ; 1,0x x x x x (9. 71)
A solução analítica é:
4 4,718282y (9. 72)
9.6.5 - Método de Runge-Kutta de Ordem m
Os Métodos de Runge-Kutta de ordem m fornecem valores aproximados da
solução da equação diferencial:
( , )dy f x ydx
(9. 73)
que coincidem com os valores de y obtidos através da expansão em Série de Taylor em
torno de um ponto x , até o termo que incluim mh , isto é:
2 3( 1)( ) ( ) ( , ) '( , ) "( , ) ... ( , )
2! 3! !
mmh h hy x h y x hf x y f x y f x y f x y
m (9. 74)
(Obs: A estimativa do erro no Método de Runge-Kutta não é bem determinada!)
9.6.7 - Exemplo
Resolver a seguinte equação diferencial
'y y x (9. 75)
Com (0) 2y e calcular (1)y com 0,25h .
9. 7 – Métodos de Predição-Correção
Uma característica dos Métodos de Runge-Kutta na obtenção do ponto
1 1( , )n nx y usamos apenas a informação fornecida pelo ponto anterior ( , )n nx y , não usando
outros pontos anteriores. Contudo, alguns outros métodos exigem a informação de pontos
anteriores.
Nos Métodos de Predição-Correção temos:
1 - Predição :
“Prevemos” um valor para 1ny . As Fórmulas Abertas ou Explícitas são usadas
como Previsoras. A fórmula mais simples é do tipo ......
2 - Correção:
Outro método “corrige” este valor e recorrige iterativamente até um critério de
parada. As Fórmulas Fechadas ou Implícitas são usadas como corretor. A fórmula mais
simples é do tipo trapezoidal.
9. 8 – Métodos Implícitos de passo Posterior
Os método implícitos ou fechados usam o passo posterior 1nx . Essas Fórmulas
Fechadas ou Implícitas são usadas como corretor. A fórmula mais simples é do tipo
trapezoidal a qual é dada por:
1 1 1( , ) ( , ) , 0,1,...2n n n n n nhy y f x y f x y n (9. 76)
Note que 1ny aparece nos dois lados da equação. Podemos tentar obter 1ny iterativamente.
Para a aproximação inicial 1
(0)n
y
pode-se usar uma fórmula aberta ou explícita, por exemplo, o
método de Euler:
1
(0) ( , )2n n n nhy y f x y
(9. 77)
Substituindo (9. 77) em (9. 76) ficamos com:
1 0
1 1
( ) ( 1)1,( , ) ( )
2n n
k kn n n n
hy y f x y f x y
(9. 78)
9.8.1 - Algorimo
Um método de predição-correção de segunda ordem resolve uma equação
diferencial 0 0' ( , ), ( )y f x y y x y com h conhecido e 0nx x nh , 0,1,.n da seguinte
forma:
1. Calcular o 1
(0)n
y
(previsor) usando (2) ou outro método explícitos.
2. Calcular1
( )n
ky
,k=1,2,... usando (3) ou outro método implícito, iterando até
( ) ( 1)1 1
( )1
k kn n
kn
y y
y
(9. 79)
9.8.2 - Convergência do método de 2ª ordem (Euler-Trapezoidal)
O Critério de Convergência do Método de segunda ordem é dado por:
2hf y
(9. 80)
9.8.3 - Exemplo
Resolver a seguinte equação diferencial
'y y x (9. 81)
Com (0) 2y e calcular (1)y com 0,5h (Obs: escolheu-se este muito grande! Apenas para
questão de tempo da aula).
9.8.4 – Solução
1ª etapa:
Para 0,5x , usaremos como Previsor o Método de Euler. Logo,
(0)1 0 0 0( , )y y hf x y (9. 82)
(0)1 2 0,5(2 0)y (9. 83)
(0)1 3,0y (9. 84)
E usaremos como Corretor o Método do Trapézio. Logo,
(1) (0)1 0 0 0 1 1( , ) ( , )
2hy y f x y f x y (9. 85)
(1)1
0,52 2 (3,0 0,5)2
y (9. 86)
(1)1 3,125y (9. 87)
Fazendo mais uma iteração temos:
(2)1
0,52 2 (3,125 0,5) 3,1562
y
(9. 88)
(2)1
0,52 2 (3,125 0,5)2
y (9. 89)
(2)1 3,156y (9. 90)
E assim até termos uma certa margem do erro
(3)1 3,164y ; (4)
1 3,166y ; (5)1 3,167y (9. 91)
logo
1 1 1( , ) 'f x y y (9. 92)
(5)1 1 1 1( , )f x y y x (9. 93)
1 1( , ) 3,167 0,5f x y (9. 94)
1 1( , ) 2,667f x y (9. 95)
2ª etapa:
Para 1,0x , usaremos como Previsor o Método de Euler. Logo,
(0)2 1 1 1( , )y y hf x y (9. 96)
(0)2 3,167 0,5(2,667)y (9. 97)
(0)2 4,501y (9. 98)
E usaremos como Corretor o Método do Trapézio. Logo,
(1)2 3,167 0, 25(4,501 1,0)y (9. 99)
(1)2 4,709y (9. 100)
Fazendo mais uma vez obtemos:
(2) (3) (4)2 2 24,761; 4,774; 4,777y y y e (5)
2 4,778y (9. 101)
O resultado exato é:
4,71828y (9. 102)
9. 9 – Métodos Explícitos, passo múltiplo, que usam 1 2, ,n n nx x x como Previsor
Alguns métodos explícitos ou abertos de passo múltiplos são: o Método de Adam-
Bashforth, o Método de Nystrom, etc.
Comentários:
9.9.1 - Adams-Moutton
Este Método é geralmente utilizado como Corretor.
1 1
( ) ( )1 29 19 5
24n n
k kn n n n
hy y f f f f (9. 103)
onde ( , )n n nf f x y
9.9.2 - Adams-Bashforth
Este Método é geralmente utilizado como Previsor.
1 1 2 355 59 37 924n n n n n nhy y f f f f (9. 104)
9.9.3 - Método de Hamming (1915-1958)
1 1
1 3 1 2
( ) ( )2 1
4 2 2 (previsor)3
1 39 2 (corretor)8 8n n
n n n n n
k kn n n n
hy y f f f
hy y y f f f
(9. 105)
9. 10 – Métodos de Passos Múltiplos
Partindo de um PVI
( , )dy f x ydx
(9. 106)
e usando que 0 0( )y x y temos:
00( ) ( , ( ))
x
xy x y f t y t dt (9. 107)
é solução. Logo:
1
01 0( ) ( ) ( , ( ))
x
xy x y x f x y x dx (9. 108)
1
1( ) ( ) ( , ( ))k
k
x
k k xy x y x f x y x dx
(9. 109)
Considerando j+1 intervalos de integração
1
1
Newton-Cotes
( ) ( ) ( , ( ))k
k
x
k k xy x y x f x y x dx
(9. 110)
Assim 1
1 1( ) Pr( )k
k j
x
k k k j xy y x y x dx
(9. 111)
Como os pontos ix são igualmente espaçados RP pode ser construída com base no conceito de diferenças finitas retroativas. Supondo 1, ,...,k k k Rf f f conhecidos para kx x h temos:
"'P ( ) ( 1) .... ( 1)( 2)...( 1)
2! !
Rk k
R k kf fx f f R
k (9. 112)
Substituindo (9. 112) em (9. 111) e integrando o polinômio obtemos o erro local de truncamento é dado pela expressão
12 1
1
( 1)( 2)...( ) ( , ( ))( 1)!
R RLT
RE h f y dR
(9. 113)
onde a ordem é 2R .
9.10.1 - Método de Milne-Simpson (4ª ordem)
Temos j = 3 e R = 3
Previsor
1 3 1 24 2 2 (previsor)3k k k k khy y f f f (9. 114)
514 ( , ( ))15
IVTLE h f y (9. 115)
Corretor j = 1
1 1k R kx x (9. 116)
1
' " "'1 1 1 1 1 1
1 12 2 ....3 90k
IVk k k k k ky y h f f f Of f
(9. 117)
onde
51
190
IVTL kE f h (9. 118)
Substituímos na equação onde tem as derivadas chegamos a:
1 1 1 1( 4 )k k k k ky y h f f f (9. 119)
cuja convergência deve satisfazer:
'( ) 1 (9. 120)
Portanto,
0 1
10
( ) ( , )( , )'( )
k
k
h f x Cf xh
(9. 121)
Seja ( , )f x yM máxy
. Para 1ky próxima da raiz
0
1hM
(9. 122)
onde 0 é o coeficiente que multiplica 1kf na fórmula implícita.
Nos exemplos que se seguem usaremos as seguintes fórmulas:
O valor de y vem da tabela (Runge-Kutta) e o valor de f (você calcula)
5 5
5 3 5 4 32
0,1( )( )3
y x
y y f f f
(9. 127)
5
5
5
1
2
3
2,106530284
2,106530391
2,106530387
y
y
y
(9. 128)
E 710 . Onde o erro de truncamento local
1 0
7
1291,06.10
iTL k k
TL
E y y
E
(9. 129)
Cuja solução exata é:
(0) 2,10653067y (9. 130)
9. 12 - Exercícios e Problemas
Anexos A1 - Os códigos para compilação em MATLAB para Curvas de Bezier
Bezier.m %Programa bezier: Curvas de Bezier %Desenha a curva de Bezier relativamente a um conjunto de pontos %Exemplo de uso: %x=[1 2 4 3] %y=[1 3 3 1] %n=3 %[bezx,bezy]=bezier(x,y,n) function [bezx,bezy]=bezier(x,y,n) hold on plot (x,y,'o') i=0; k=0; for t=0:0.01:1 i=i+1; bnk=bernstein(n,k,t); ber(i)=bnk; end bezx=ber*x(1); bezy=ber*y(1); for k=1:n i=0; for t=0:0.01:1 i=i+1; bnk=bernstein(n,k,t); ber(i)=bnk; end bezx=bezx+ber*x(k+1); bezy=bezy+ber*y(k+1); end plot(bezx,bezy) hold off Bernstein.m %programa bernstein: polinomios de Bernstein % function [bnk]=bernstein(n,k,x) if k==0 C=1;
else C=factorial(n)/(factorial(k)*factorial(n-k)); end bnk=C*x^k*(1-x)^(n-k);
A2 – Superfícies de Bezier
As superfícies têm um papel muito importante na computação gráfica. De uma
maneira geral, as superfícies são uma generalização das curvas.
A equação para a superfície de Bézier é uma extensão direta das curvas de
Bézier. Um ponto qualquer da superfície pode ser obtido pela expressão:
n
i
m
jmjini tJsJBtsP
0 0,,, 1,0 ts (A. 1)
onde, como no caso das curvas de Bézier, Bi,j define o vértice e controle da superfície e
Ji,n(s), Ji,m(t) são funções de Berstein nas direçõess e t respectivamente.
Se a superfície de Bézier a ser gerada for definida por dois polinômios de grau 3,
teremos as chamadas superfícies bicúbicas de Bézier, que podem ser escritas como:
1
1,2
3
23
ttt
MGMssstsP TBBB (A. 2)
sendo
0001003303631331
BM (A. 3)
e os pontos de controle representados pela matriz:
3,32,31,30,2
3,22,21,20,2
3,12,11,10,1
3,02,01,00,0
PPPPPPPPPPPPPPPP
GB (A. 4)
Para representar uma superfície Bézier bicúbica, os dezesseis pontos de controles
devem ser especificados(Figura A.2).
Figura - A. 1. Os dezesseis pontos de controle de uma superfície de Bézier.
A3 – Superfícies de B-Spline
As superfícies B-Spline mais conhecidas na prática da computação gráfica é o
NURBS (Nonuniform Rational B-Splines), um sistema de modelagem gráfico-computacional
que utiliza, além de círculos, linhas e arcos as splines. É empregado em sistemas CAD
(desenho auxiliado por computador) para geração de superfícies complexas. São formas
matemáticas que permitem a construção de simples linhas 2D (bidimensionais), círculos,
arcos ou mesmo sólidos geométricos regulares à superfície orgânica complexas 3D
(tridimensonais). Os objetos em NURBS podem ser utilizados para qualquer tipo modelagem,
animação, ilustração, ou modelos para a fabricação industrial por causa de sua flexibilidade e
precisão na construção dos objetos 3D. Permitem definir com precisão secções cónicas
(polinómios quadráticos).
O termo NURBS é a abreviatura de Non-Uniform Rational B-Splines Surfaces, ou
seja, é uma B-Splines racional (originária da razão de polinômios). Non-uniform significa que
a influência da extensão de um controle de vértice não precisa ser a intervalos iguais do
parâmetro t, podendo variar (o que é muito bom na modelagem de superfícies irregulares).
Rational significa que a equação usada para representar a curva ou superfície é expressa pela
razão de dois polinômios. A forma rational fornece um modelo melhor de algumas superfícies
importantes.
As superfícies NURBS forem criadas especialmente para modelagem em três
dimensões no computador. Na prática, ou seja, para o projetista, a maior qualidade no uso de
superfícies NURBS é a velocidade e facilidade de construção de objetos muito complexos.
Essas superfícies são obtidas com uso de matrizes Bi,j de nós não-uniformes e é uma das
formas de representação mais usadas em projetos de engenharia.
A função polinomial das curvas NURBS é definida como:
n
iini
n
iinii
w
tNw
tNBwtPtP
0,
0,
(A. 5)
Diferentes segmentos de curvas NURBS podem ter diferentes níveis de
continuidade dependendo do posicionamento dos pontos de controle pelo usuário. Em
particular, quando posicionamos dois pontos de controle em um mesmo lugar ou muito
próximos, o nível de continuidade será reduzido. Dois pontos de controle aguçam a curvatura.
Essa propriedade de uma NURBS é conhecida como multiplicidade.
O sucesso da NURBS é verificado pela enorme quantidade de aplicativos e API’s
(Interface de Programação de Aplicativos) que se beneficiam desta poderosa ferramenta, entre
elas então:
► OpenGL (Open Graphics Library) pode ser definida como uma biblioteca de
interface de software para aceleração da programação de dispositivos gráficos 3D com
excelente qualidade visual e rapidez. Criada pela SGI, a biblioteca OpenGL é bastante popular
nas indústria de jogos, super computadores, efeitos especiais para TV e cinema.
► VTK, (Visualization Toolkit) é uma API disponibilizada gratuitamente pela Kitware Inc,
possuindo código fonte aberto e é totalmente portável. Ele consiste em uma biblioteca de
classes implementadas em C++ e é utilizada para o processamento de imagens e visualização
científica.
► 3D Studio Max ou 3ds Max, é um programa de modelagem 3D que permite renderização
de imagens e animação. Sendo usado em produção de filmes de animação, vinhetas e
comerciais para TV, maquetes eletrônicas e na criação de qualquer mundo virtual.
► Rhinoceros 3D da empresa Robert McNeel & Associates, possui um formato que
reconhece as NURBS e tem um foco maior na modelagem de superfícies.
Bibliografia 1 – Burden, R. L. Faires, J. D. Numerical Analyisis, Brooks – Cole Publishing Company,
1997.
2 – Cunha, M. C. Métodos Númericos, Editora Unicamp, 2003 (sugere o uso do Maple)
3 – Sperandio, D. Cálculo Numérico, Pearson
4 – Atkinson, K. An Introduction to Numerical Analysis, John Willey & Sons, 1978