Interpolação:

A interpolação é um processo constantemente presente nos trabalhos de computação gráfica, uma boa interpolação resolve os critérios de cor e aparência dos objetos1. Nesta seção serão apresentadas as idéias de algumas formas de interpolação, bem como sua implementação no projeto demonstrativo da pesquisa.

A interpolação de um conjunto de pontos deve levar em conta a velocidade de implementação, o custo em memória desta implementação e do armazenamento dos pontos e obviamente a qualidade dessa reconstrução. Métodos comuns de reconstrução, que serão estudados mais a fundo neste trabalho são a interpolação linear, a interpolação por curvas de Bézier e a interpolação por Splines.

Em geral, a interpolação leva em conta a continuidade da curva equacionada. A Continuidade se faz importante por ser gerar uma sorte de facilidades no cálculo da iluminação. Superfícies contínuas implicam uma iluminação mais simples de ser interpolada, no nosso trabalho com amostras de pontos esse conceito é de estrema importância, pois não queremos ter de calcular exaustivamente a iluminação em cada pixel, ou mesmo em cada ponto reconstruído, isso requer elevado desempenho e nos casos dedicados desse cálculo, eleva exponencialmente este trabalho.

A idéia que obtivemos na seção anterior sobre a homogeneidade de pontos nos quatro universos diverge um pouco do conceito de objetos que utilizaremos. Objetos são conjuntos de pontos ordenados, tudo que temos de fazer é uma boa interpolação entre estes pontos, interpolação essa que altera por completo a extrema facilidade em lidar com eles.

Vamos dar uma visão geral dos métodos de interpolação para posteriormente detalhar, e mais tarde fazer um estudo de casos.

Interpolação Linear
A interpolação linear é a mais simples, gera um mínimo de qualidade mas enormes ganhos em processamento. A reconstrução linear de curvas e superfícies é implementada em tempo linear ao número de arestas, por ser uma aplicação linear, é comutativa em transformações geométricas (ver apêndice 1).

Em geral, é de ótima satisfação para superfícies poliédricas, mas apresenta séria restrições com curvas:

Quadro1

Na esfera reconstruída acima foi utilizada a interpolação linear, a qualidade é relativamente boa, mas observe que para tanto foi necessário grande número de amostras (4096 neste caso). Observe ainda que a classe de continuidade2 neste caso é C°

Interpolação de Bézier
A interpolação de Bézier tem a meta de solucionar o caso do grande número de amostras e os problemas de continuidade (a interpolação de Bézier gera curvas de continuidade infinita). Obviamente, o tempo de processamento é bem maior para a geração dessas superfícies em contrapartida a geração das demais.


Ilustração 2: superfície de bézier - UFRN




A superfície de Bézier acima foi implementada por uma seção de curvas, as linhas exteriores foram reforçadas artificialmente. As superfícies de Bézier tem aparência mais arredondada, o exemplo seguinte ilustra melhor essa comparação:


Ilustração 3: Velho e Gomes: Fundamentos da Computação Gráfica




A ilustração acima exemplifica uma mesma superfície plotada por interpolação linear (á esquerda) e por interpolação curva (Bézier ou Splines). Observe grande qualidade da representação por curvas, mas observe também que detalhes da região separada, por exemplo, foram perdidos:


Ilustração 5: Detalhes perdidos na interpolação Curva

Quadro4











esta alteração pode ou não ser interessante para a modelagem da superfície, a representação por curvar de Bézier provoca essa alteração nos picos da figura devido a sua continuidade.

Interpolação por Splines

As superfícies splines que estudaremos, descendem de Bézier, porém sanam um problema oriundo da integralização das curvas de Bézier3. É simplesmente uma separação das superfícies de Bézier em superfícies menores para assim reduzir a influência global da curva, a uma influência local.


Ilustração 1: Distorção de alguns pontos numa esfera gerada por NURBS - André Claudino




1Seja encarado ao longo deste trabalho, salvo dito o contrário que um objeto é um conjunto ordenado de pontos.

2As classes de continuidade dizem respeito a continuidade das derivadas de um função. Funções de classe Cn tem n derivadas contínuas.

3Um problema oriundo da influência de todos os pontos da curva no modelo matemático da interpolação por Bézier, será visto em detalhes mais tarde.