As a continuation of trying to calculate curvature tensors on triangulated surfaces (here), I am interested in trying other methods. One approach is to use NURBS. To be more precise I would like to be able to create a BSpline surface that can be fitted to a triangulated mesh, ideally having the vertices of the mesh fitting the NURBS surface and not the control points. One of the advantages of doing this is that if we have the BSpline function then we can use this to calculate surface curvatures and other geometric measures. It would also be conceivable to have local overlapping "patches" of BSplines for tricky geometries.

It seems that this is not so trivial. In Mathematica NURBS are implemented using BSplineFunction. It takes a rectangular array of control points as input, and does not fit through an arbitrary number of points as in Interpolation. Unfortunately when one uses Interpolation for unstructured grids it does not seem to allow one to use the Spline option, which would be great in order to get out the parameters.

This has been covered somewhat already see e.g. (Produce a spline from a set of {{x, y}, z} points and get its parameters/expression) or (How to make BSplineFunction pass each data point and naturally smooth?), but I haven’t yet managed to work out a solution for non-regular meshes or meshes in 3D in which there is no rectangular uv parametrisation of the surface. Any ideas of how to do this in mathematica?

  • $\begingroup$ @ J.M. thanks. I think this was what you were thinking of in terms of splitting the previous question up so this one focusses more on the B-Spline fitting? Hope is ok? $\endgroup$
    – Dunlop
    Mar 21, 2017 at 10:55
  • $\begingroup$ Yep, this looks good. $\endgroup$ Mar 22, 2017 at 2:13
  • $\begingroup$ Just curious, did you ever figure out how this could be done? $\endgroup$
    – user21
    Sep 6, 2022 at 5:00
  • $\begingroup$ @user21 Not yet unfortunately. Got distracted by teaching, but hope to come back to it. $\endgroup$
    – Dunlop
    Sep 6, 2022 at 15:50
  • 1
    $\begingroup$ BTW I tried fitting B-spline curves to unstructured points in my Community post here. I think the method should work fine for B-spline surface as well. $\endgroup$
    – Silvia
    Jan 7, 2023 at 22:34


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.