Reinoud,
I've tried this. The formulas are not to difficult if you are familiar with
barycentric coordinates on the triangle:
Given 0 <= u,v,w <=1 with u+v+w=1 and
Vertices: PU PV PW
Tangents: TUV,TUW TVU,TVW TWU,TWV
Free parameter: X
the hermite polynomial h(u,v,w) can be written as
h(u,v,w) = u*v*w*X
+ (3*PW-TWV)*v*w^2 + (3*PW-TWU)*u*w^2 + PW*w^3
+ (3*PV-TVW)*v^2*w + (3*PU-TUW)*u^2*w + PV*v^3
+ (3*PV-TVU)*u*v^2 + (3*PU-TUV)*u^2*v + PU*u^3;
The tangents (f.e. TUV: tangent at PU in direction to PV) always point inside the
triangle in this formula. There is one (3D) parameter X free to choose.
In any case the border curves between the vertices are independent of X :
h(1-s,s,0) = (2*s^3-3*s^2+1)*PU+(-s^3+2*s^2-s)*TUV+(-2*s^3+3*s^2)*PV+(s^3-s^2)*TVU
h(0,1-s,s) = (2*s^3-3*s^2+1)*PV+(-s^3+2*s^2-s)*TVW+(-2*s^3+3*s^2)*PW+(s^3-s^2)*TWV
h(s,0,1-s) = (2*s^3-3*s^2+1)*PW+(-s^3+2*s^2-s)*TWU+(-2*s^3+3*s^2)*PU+(s^3-s^2)*TUW
and this looks very familiar ;)
Jon proposed to choose the free parameter in order to minimize the energy of the
surface. I'm currently looking for an operator that calculates the energy.
In the context of splines normaly not the real energy of a curve is minimized
(that would require calculation of the curvature and the use of square roots)
but a simular value: the integral over the square of the second derivative.
I know that there is an operator that works with barycentric coordinates that
calculates a similar "energy" on surfaces, but I currently don't remember the
formula and even the place where I read it :(
It depends mostly on the choice of the free parameters X , whether the resulting
surface has G0 or G1 continuity between adjacent triangles (one free X for each
triangle). As I know G2 continuity is an exceptional case, only.
Keep on searching for the formula...
-- Alexander