MATLAB: Interpolation of values on a three-dimensional surface represented by scattered points

interpolationMATLABscattered datathree-dimensional points

I have got a matrix with scattered points (N x 3) representing a curved surface in three-dimensional space. Additionally there's vector (N x 1) with values (in this case these are surface temperatures) for each point from above.
My Problem: I'd like to interpolate the values on the three-dimensional surface on another set of scattered points which also represent the same surface in three-dimensional space.
I use MATLAB R2014b.
My Solutions so far:
Method 1:
Use scatteredInterpolant with 4 arguments
F = scatteredInterpolant(X, Y, Z, values)
and calculate the new values by using
values_new = F(X_new, Y_new, Z_new)
Method 2:
I've thought about the surface and came to the conclusion that for a surface in three-dimensional space the Z-coordinate is dependend on the X- and Y-coordinate, right?
Z = f(X,Y)
Therefore the dependency
value = f(X,Y,Z)
can be simplified to
value = f(X,Y)
This results in
F = scatteredInterpolant(X, Y, values)
and
values_new = F(X_new, Y_new)
Whats the mathematically correct solution for this problem?
I'really like to know which is the correct way to my interpolation problem. Maybe it's not even one of the methods I've presented.
Thanks in advance!

Best Answer

Probably none of the answers you have posed is right.
You have a curved surface in R^3, represented as a set of points (x,y,z). As such, they represent a sampling from some general curved manifold, embedded in that 3-d space. In addition, you have a function, w(x,y,z), that you wish to interpolate onto another disjoint set of points that also hopefully lie on the same manifold.
What you have not said is that this manifold can be represented as a single valued function, z(x,y). For example, the surface of a sphere is a curved manifold, a general surface, but it fails this last item, so Method 2 as you outlined it may not be any kind of option. Or, if that function may in theory be single valued, but it has locations where there would effectively be a derivative singularity, so an infinite gradient. Again, z(x,y) will be useless as an idea.
Method 1 must also fail in general. In fact, method 1 will be useless ALWAYS. That scatterred interpolant will try to form a tessellation, in THREE DIMENSIONS. Since your data lies not scattered in 3-d, but on the surface of a smooth manifold, those simplexes that are generated will be terrible in terms of their value for an interpolant. That is, they will either be terribly flat, or they will use points from far away on the surface, spanning across big folds of your manifold. This is not what scatteredInterpolant was designed to solve as a problem. Sorry, but NOT.
You have a manifold. Depending on how that manifold is parameterized, a new point need not even lie on the manifold. For example, given a triangulated surface that represents APPROXIMATELY the surface of a sphere, a new point from another set need not even lie exactly in that approximately triangulated manifold. So interpolation is meaningless until you manage to map that new point onto the triangulated surface. Then a simple linear interpolation will suffice.
So far, I don't know enough about your problem. You have posed it too generally, not given sufficient information.