Bilinear interpolation is a mathematical technique used for estimating unknown values that fall within a grid of known values. It extends interpolação linear to two dimensions, making it particularly useful in applications such as processamento de imagens, gráficos computacionais, and geographical sistemas de informação.
O método funciona ao pegar uma grade retangular de quatro pontos conhecidos (os cantos de um retângulo) e estimar o valor em um ponto desconhecido localizado dentro desse retângulo. O processo envolve duas etapas de interpolação linear:
- Primeiro, realiza-se a interpolação linear em uma direção (geralmente na direção x) para encontrar valores intermediários ao longo das bordas do retângulo.
- Em seguida, esses valores intermediários são interpolados na outra direção (direção y) para chegar ao valor estimado final no ponto desejado.
Matematicamente, se temos quatro pontos: (x₁, y₁), (x₂, y₁), (x₁, y₂) e (x₂, y₂) com valores conhecidos Z₁, Z₂, Z₃ e Z₄, a fórmula da interpolação bilinear pode ser expressa como:
Z(x, y) = (Z₁(1 – a)(1 – b) + Z₂a(1 – b) + Z₃(1 – a)b + Z₄ab)
onde:
- a = (x – x₁) / (x₂ – x₁)
- b = (y – y₁) / (y₂ – y₁)
Bilinear interpolation is widely used due to its simplicity and efficiency in generating smooth transitions between data points, making it a popular choice in various applications including image scaling, texture mapping in 3D graphics, and surface fitting in dados útil.