# Bilinear Interpolation Calculator

By Anna Szczepanek, PhD
Last updated: Sep 03, 2021

Welcome to Omni's bilinear interpolation calculator! Are you a bilinear interpolation professional? Or rather wondering what bilinear interpolation is all about? Here you can find a brief overview of the bilinear interpolation method as well as a detailed explanation and derivation of the formula for bilinear interpolation.

As a bonus, we provided an example of how to perform bilinear interpolation by hand.

## What is a bilinear interpolation?

Bilinear interpolation is a popular method for two-dimensional interpolation on a rectangle. That is, we assume that we know the values of some unknown function at four points that form a rectangle. Let these points equal `(x₁, y₁)`, `(x₁, y₂)`, `(x₂, y₁)` and `(x₂, y₂)` and the values of the function are the following:

• The value at `(x₁, y₁)` is `Q₁₁`;
• The value at `(x₁, y₂)` is `Q₂₁`;
• The value at `(x₂, y₁)` is `Q₁₂`; and
• The value at `(x₂, y₂)` is `Q₂₂`.

Using bilinear interpolation, we can estimate this function's value at any point `(x, y)` inside this rectangle. We will denote this unknown value by `P`.

This interpolation scheme is widespread and has many applications, in particular in computer vision and image processing. It is based on a much simpler and widely taught procedure of linear interpolation. For details, see the sections below.

It's worth knowing that the data required for bilinear interpolation is often collected in the form of the following table. Compare it to the plot above to see how smart the design of this table is!

## How to use this bilinear interpolation calculator?

Using this calculator is straightforward:

1. Enter the data:

• `x₁, y₁, x₂, y₂` for the coordinates of the base points of interpolation;

• `Q₁₁, Q₁₂, Q₂₁, Q₂₂` for the values at these points; and

• `x, y` for the point at which we want to interpolate the unknown function by means of bilinear interpolation

2. That's it! Our bilinear interpolation calculator returns the result, i.e., the value of `P` at `(x, y)`. A piece of cake, isn't it? 🍰

## Bilinear interpolation formula

The general idea of the bilinear interpolation method is the following:

• Start by performing two linear interpolations in the x-direction (horizontal): first at `(x, y₁)`, then at `(x, y₂)`.
• Next, perform linear interpolation in the y-direction (vertical): use the interpolated values at `(x, y₁)` and `(x, y₂)` to obtain the interpolation at the final point `(x, y)`.

Let's have a look at the details.

1. We find the linear interpolation of function `f` at `(x, y₁)` using the values of `f` at `(x₁, y₁)` and `(x₂, y₁)` which are `Q₁₁` and `Q₂₁` respectively:
1. We find the linear interpolation of `f` at `(x, y₂)` using the values of `f` at `(x₁, y₂)` and `(x₂, y₂)` which are `Q₁₂` and `Q₂₂` respectively:
1. Finally, we find the linear interpolation at `(x, y)` using the interpolated values of `f` at `(x, y₁)` and `(x, y₂)`:

All that's let to do is to rewrite the above expression for `P` to get rid of the intermediate values `R₁` and `R₂`.

• Substituting the expressions for `R₁` and `R₂` from Steps 1 & 2, we get the following formula for `P`:
• Using vectors and matrices, we can rewrite the above bilinear interpolation formula for `P` into the following form:

Tip: You may want to use to our matrix multiplication calculator while using the matrix form of the bilinear interpolation formula.

## Bilinear interpolation example

That was lots of theory, wasn't it? If you feel a bit overwhelmed, don't worry! In this section, we'll solve an example to show you how to use the bilinear interpolation formula in practice.

Assume that an unknown function has:

• Value `12` at `(0, 1)`;
• Value `-4` at `(0, 3)`;
• Value `0` at `(4, 1)`; and
• Value `8` at `(4, 3)`.

We want to estimate the value of this function at `(1, 2)`.

1. Let's begin by writing down some data.

• For the rectangle corners, we have:

`x₁ = 0`, `x₂ = 4`, `y₁ = 1`, and `y₂ = 3`

• The respective function values are:

`Q₁₁ = 12`, `Q₂₁ = -4`, `Q₁₂ = 0`, and `Q₂₂ = 8`

• The point at which we perform the bilinear interpolation is:

`x = 1`, `y = 2`

2. Let's calculate the terms that appear in the bilinear interpolation formula for `P`:

• `(x₂ - x₁) * (y₂ - y₁) = (4 - 0) * (3 - 1) = 8`

• `(x₂ - x) * (y₂ - y) = (4 - 1) * (3 - 2) = 3`

• `(x - x₁) * (y₂ - y) = (1 - 0) * (3 - 2) = 1`

• `(x₂ - x) * (y - y₁) = (4 - 1) * (2 - 1) = 3`

• `(x - x₁) * (y - y₁) = (1 - 0) * (2 - 1) = 1`

3. Let's put those values together into the formula for `P`. We obtain:

`P = 3/8 * Q₁₁ + 1/8 * Q₂₁ + 3/8 * Q₁₂ + 1/8 * Q₂₂`

4. It's time to substitute the values `Q₁₁, Q₂₁, Q₁₂, and Q₂₂`:

`P = 3/8 * 12 + 1/8 * (-4) + 3/8 * 0 + 1/8 * 8`

5. Finally, we have:

`P = 9/2 - 1/2 + 1 = 5`

## Properties of bilinear interpolation

Let's look once again at the final formula for `P` and point out some of its properties:

From this formula we see that:

1. Bilinear interpolation is

• Linear with respect to the values `Q₁₁, Q₁₂, Q₂₁, and Q₂₂` of the unknown function at the corners of the rectangle;

• Linear along every horizontal line (where `x` changes and `y` is constant) and along every vertical line (where `x` is constant and `y` changes); but

• Quadratic with respect to the location of the interpolation point, i.e., as a function of both `x` and `y`.

2. Bilinear interpolation is the weighted average of the values `Q₁₁, Q₁₂, Q₂₁, and Q₂₂` at the four corners of the rectangle, and the weights are determined by the distance between the corners and the point `(x, y)`. The closer a corner is to `(x, y)`, the more weight that corner gets.

Anna Szczepanek, PhD
Corner points coordinates
x₁
y₁
x₂
y₂
Corner points values
Q₁₁
Q₂₁
Q₁₂
Q₂₂
Interpolated point
x
y
P
People also viewed…

### Log

The log calculator (logarithm) calculates the value of a logarithm with an arbitrary base.

### Pizza size

This calculator will help you make the most delicious choice when ordering pizza.

### Snowman

The perfect snowman calculator uses math & science rules to help you design the snowman of your dreams!

### Synthetic division

Our synthetic division calculator shows you step-by-step how to divide polynomials with help of the synthetic division method.