Fitting 3D B-Spline (Nurbs) curves to a set of points in 3D space

27 views (last 30 days)
Hi Everyone,
I have a set of point coordinates in 3D space (xyz). I want to fit a Non-uniform rational basis spline (NURBS) curve to this set and get this curve's knots and cartesian points. I would be thankful if anyone can let me know how to do this in MATLAB or point me to the right direction to write such a code myself.
Many thanks in advance.
  2 Comments
Nikhil Sapre
Nikhil Sapre on 20 Apr 2022
I would suggest looking up how to import data into MATLAB, use arrays and plot and plot 3d commands. Provide us with your code and show that you made an effort and are running into issues.

Sign in to comment.

Answers (1)

Garmit Pant
Garmit Pant on 5 Feb 2024
Hello Memo Remo
From what I gather, you have a 3D coordinates and you want to fit a NURBS curve to them. You are looking for methods in MATLAB to fit the spline to the data.
There are no in-built functions in MATLAB to fit NURBS curve. You can read about the construction of rational splines here:
You can also install the “NURBS Toolbox by D.M. Spink” from File Exchange. The toolbox contains multiple functions to work with NURBS curves. You can find the toolbox here:
I hope you find the above explanation and suggestions useful!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!