Looking at the RhinoCommon SDK help for the Surface.Evaluate method, I’m just wondering what the exact output is for the ‘derivatives’ variable. Is it similar to that of the SurfaceEvaluate function in RhinoScript?

Which derivatives specifically does it return in each item of the vector array?

The output of Rhino.Geometry.Surface.Evaluate is very similar to that of RhinoScript’s SurfaceEvaluate method. The difference being that RhinoCommon returns the 3-D point separately (instead of part of the resulting array like RhinoScript).

I have just looked into this last week! The derivatives vector for first and second derivatives contains 5 vectors:

du, dv, du2, dudv, dv2 in that order.

I would hazard a guess that the third derivatives are ordered du3, du2dv, dudv2, dv3 and the fourth derivatives du4, du3dv, du2dv2, dudv3, dv4, and so on.