B-spline curve interpolation
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to interpolate a given no of data points(3D) to get the interpolating B-spline curve. But for lower degree (like n=4), the control points (at the start of curve) are at very large distance from data points (except the first and last obviously) and for higher degree (n=10), the distance decreases.
data point = [1.8344 2.2802 0; 1.8187 2.2686 0.0100; 1.8063 2.2608 0.0200; 1.7909 2.2610 0.0300;....... (16 more)...;2.1227 2.5056 0;]
for n=4 , control point = [1.8344 2.2802 0; 2973836.32757604 218588.706397133 4207055.37520728 ; -1045212.71992514 -76824.3713212613 -1478655.05573647; 257382.122002332 18920.5432190655 364113.500023932 ;..................................;2.1227 2.5056 0;]
for n = 10, control point = [1.8344 2.2802 0; -14.3298479369024 25.3962285214618 -12.33440210039 ; 22.0947228148273 -26.8248883657439 15.5134643356754; -18.2395057888953 31.1856933650198 -15.3541524420049;..........................;2.1227 2.5056 0;]
How should I choose the order(degree) of the curve and do the interpolation.
Also, when I don't use the backslash operator, I get warning (Matrix is close to singular or badly scaled)
Please tell me how to work and sort out this.
2 commentaires
Unai San Miguel
le 9 Juil 2018
There aer a number of techniques to do interpolations. Can you post the code you have used so far?
Réponses (0)
Voir également
Catégories
En savoir plus sur Splines dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!