next up previous


Bilinear Interpolation

Given two points P0 and P1 we can construct the line between them by linear interpolation:

\begin{displaymath}(1-t) P_{0} + t P_{1},\quad 0\leq t \leq 1.\end{displaymath}

This idea extends nicely to the two dimensional case. Let P00, P10, P01, and P11 be four points. The line between P00 and P10 is

\begin{displaymath}(1-t) P_{00} + t P_{10},\quad 0\leq t \leq 1.\end{displaymath}

The line between P01 and P11 is

\begin{displaymath}(1-t) P_{01} + t P_{11},\quad 0\leq t \leq 1.\end{displaymath}

We can connect points on the first line to points on the second line through the use of a second variable, that is:

 \begin{displaymath}
(1-s)[(1-t) P_{00} + t P_{10}] + s[(1-t) P_{01} + t P_{11}],\quad 0\leq s,\,t \leq 1.
\end{displaymath} (1)

One nice way to write this is in matrix form:

\begin{displaymath}\left[\begin{array}{c} 1-s \\ s \end{array}\right]
\left[\be...
...ray}\right]
\left[\begin{array}{c} 1-t \\ t \end{array}\right]
\end{displaymath}

These very simple surfaces are used in numerous graphics algorithms.

Triangles

Let's suppose that two of above the points are identical, say P00 = P10. In this case, the formula (1) reduces to:

\begin{displaymath}(1-s)[P_{00}] + s[(1-t) P_{01} + t P_{11}],\quad 0\leq s,\,t \leq 1.\end{displaymath}

or

\begin{displaymath}uP_{00} + v P_{01} + w P_{11},\quad \mbox{where}\, u+v+w= 1.\end{displaymath}

A barycentric (or affine) combination of a collection of points is defined by :

\begin{displaymath}P=\sum_{j=0}^{n}\alpha_jP_j\end{displaymath}

where the weights sum to one:

\begin{displaymath}\sum_{j}^{n}\alpha_j=1.\end{displaymath}

We see that linear interpolation and bilinear interpolation are examples of barycentric combinations of points.

Affine maps can be defined as maps that leave combinations invariant, that is, if

\begin{displaymath}P=\sum \alpha_j P_j,\quad \mbox{where}\quad \sum\alpha_j=1\end{displaymath}

and M is an affine map then

\begin{displaymath}M P=\sum \alpha_j M P_j\end{displaymath}

Affine maps can be represented as the sum of a linear transformation and a translation vector:

\begin{displaymath}M P = Ax + \vec{v}.\end{displaymath}

Translations, scales, rotations, shears, and parallel projections are some examples of affine maps.


next up previous
William Shoaff
1999-02-08