I have a set of isolines points ( or contour points) such as this:

Each point has their own respective X, Y and Z. Since they are isolines, that means that all of the points will have a unique X-Y pair, i.e., they will be no two points with the same X and Y but different Z.

Now, is there any algorithm, or any software packages ( either in C# or matlab) that I can use to interpolate this isoline points into full 3D surface points?

P/S: I am not just the final output, I am interested in getting the interpolated lines myself so that I can plot the surface myself.