Interpolation does not only work on rectangular grids. The grid even need not to be regular.
E.g. let us produce some data (x, y,z) which are not on a regular grid on a disk with radius of 5 in the x-y plane and which have z-values between 4 and 5 with:
radius=5;
maxRandomNumber=1000;
{x,y,z}=({#1*Cos[#2]*radius,#1*Sin[#2]*radius,#3})&[
Sqrt[RandomReal[{0,1},maxRandomNumber]],
2*Pi*RandomReal[{0,1},maxRandomNumber],RandomReal[{4,5},maxRandomNumber]];
data = Transpose[{x, y, z}];
If you plot them with
ListPlot3D[data]
You get something like

You can interpolate the data easily with
f = Interpolation[data, InterpolationOrder -> 1];
Plotting them with
Plot3D[f[x, y], {x, -6, 6}, {y, -6, 6},
RegionFunction -> Function[{x, y}, Sqrt[x^2 + y^2] < radius]]
Or
ContourPlot[f[x, y], {x, -6, 6}, {y, -6, 6},
RegionFunction -> Function[{x, y}, Sqrt[x^2 + y^2] < radius]]
give you a similar picture as the first one. So you see, interpolation still works for such data.
Interpolationworks not only on rectangular grids. – partial81 May 29 '13 at 13:24