B-spline approximation
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
Citar como
Dorian Depriester (2024). B-spline approximation (https://www.mathworks.com/matlabcentral/fileexchange/71456-b-spline-approximation), MATLAB Central File Exchange. Recuperado .
Compatibilidad con la versión de MATLAB
Compatibilidad con las plataformas
Windows macOS LinuxCategorías
Etiquetas
Agradecimientos
Inspirado por: MTEX2Gmsh
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.
Versión | Publicado | Notas de la versión | |
---|---|---|---|
3.0.3 | Update image |
||
3.0.2 | Fix confusion between order and degree |
||
3.0.1 | Re-upload image |
||
3.0.0 | New feature: periodic conditions |
||
2.0.1 | Update the title, for it now works in any dimension |
||
2.0.0 | Works in any dimension |
||
1.3.0 | Ensure that the order is always smaller than the numer of knots |
||
1.2.1 | Crop image |
||
1.2.0 | Add image |
||
1.1.0 | Add example |
||
1.0.0 |