File Exchange

image thumbnail

B-spline approximation

version 3.0.3 (1.83 KB) by Dorian Depriester
Computes the B-spline approximation from a set of coordinates. Supports periodicity and n-th order approximation.

28 Downloads

Updated 11 Feb 2021

View Version History

View License

Computes the B-spline approximation from a set of coordinates (knots).
The number of points per interval (default: 10) and the order of the B-spline (default: 3) can be changed. Periodic boundaries can be used.

It works on any dimension (even larger than 3...).

This code is inspired from that of Stefan Hueeber and Jonas Ballani [1].

Example (see image):
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rng(1) % Set random seed for reproductility
XY=rand(5,2); % Random set of 5 points in 2D
BS2=BSpline(XY); % Default order=3 (quadratic)
BS3=BSpline(XY,'order',4); % order=4 -> cubic B-spline
BSper=BSpline(XY,'periodic',true);
h=plot(XY(:,1),XY(:,2),'-o',BS2(:,1),BS2(:,2),BS3(:,1),BS3(:,2),'--',BSper(:,1),BSper(:,2),'-.');
legend('Control polygon','Quadratic','Cubic','Quadratic periodic')
set(h, 'LineWidth',2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[1] http://m2matlabdb.ma.tum.de/download.jsp?MC_ID=7&SC_ID=7&MP_ID=485

Cite As

Dorian Depriester (2021). B-spline approximation (https://www.mathworks.com/matlabcentral/fileexchange/71456-b-spline-approximation), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

Yaad

Guillaume Frebourg

Mishal Thapa

MATLAB Release Compatibility
Created with R2013b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: MTEX2Gmsh

Community Treasure Hunt

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

Start Hunting!