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:
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
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.