Loading AI tools
Da Wikipédia, a enciclopédia livre
Na matemática, Interpolação linear é um método no qual instanciamos um novo conjunto de dados utilizando interpolação polinomial em vista de construir novos pontos de dados no alcance de pontos já conhecidos.
Dados os pontos e , a interpolante linear é a linha entre os dois pontos. Para um valor x no intervalo , o valor y é a linha entre os pontos. Estabelecendo a seguinte relação:
que pode ser derivado geometricamente da figura ao lado. Se trata de um caso especial de interpolação polinomial com n = 1.
Tal que resolvendo para y com x temos a relação geométrica:
cuja formula é a interpolação linear entre o intervalo . Fora do intervalo denominamos de extrapolação linear.
Podemos visualizar a formula como uma média ponderada. Os pesos são inversamente proporcionais à distância entre o ponto de chegada e o ponto desconhecido. O ponto mais perto pondera mais que o ponto distante. Portanto, os pesos são e , que são distâncias normalizadas entre o ponto desconhecido e o ponto de chegada. Dado que a soma é 1:
Interpolação linear é utilizada como método de aproximação para uma função f utilizando dois pontos dados pela mesma. O erro (ou "resto" ou "resíduo") desta aproximação pode ser dado pela expressão:
onde p denota a interpolação polinomial definida abaixo:
Sabe-se pelo teorema de Taylor que:
Pode ser provada utilizando o teorema de Rolle, que cita que se f tem uma segunda derivada o erro está definido por:
Se a função C0 é insuficiente, por exemplo, se o processo produziu os pontos de dados é provado ser mais 'liso' que C0, é comum substituir interpolação linear por interpolação de spline[1], ou até mesmo interpolação polinomial em alguns casos.
Para duas dimensões espaciais, a extensão da interpolação linear é chamada de interpolação bilinear, e em três dimensões, interpolação trilinear.
Note, que esses interpolantes não são mais funções lineares, porem produtos de funções lineares; como ilustrado claramente pelo exemplo de interpolação bilinear nessa figura abaixo. Outros tipos de interpolação podem ser aplicados a malhas triangulares e tetraédricas, incluindo superfícies Bézier.
Interpolação linear é utilizada desde a antiguidade para completar "buracos" nas tabelas, geralmente contendo dados astronômicos. Acredita-se que era utilizado por astrônomos Babilônios e matemáticos da Mesopotâmia (300 anos a.C.), e pelos astrônomos da Grécia. Uma descrição da interpolação linear pode ser encontrada no Almagesto (200 anos d.C.) por Ptolomeu.
Muitas bibliotecas e linguagens de shaders tem uma função denominada de "lerp", que retorna a interpolação entre dois valores (v0,v1) e um parâmetro (t) em um intervalo fechado de [0,1]:
Algoritmo basico em C++:
// método impreciso para calcular v = v1 quando t = 1 "floating-point arithimetic error"
// Essa forma pode ser utilizada em hardware que possui intruções "Multiply-Add"
float lerp(float v0, float v1, float t) {
return v0 + t*(v1-v0);
}
// Método preciso que garante que v = v1 quando t = 1.
float lerp(float v0, float v1, float t) {
return (1-t)*v0 + t*v1;
}
Essa função lerp é usualmente utilizada para mesclar o canal alpha (onde o parâmetro 't' é o alpha), e a formula pode ser estendida para mesclar múltiplos componentes de vetores (como espaciais x,y,z ou cores com componentes r,g,b) em paralelo.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.