B-spline curve interpolation
6 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Unai San Miguel
2018 年 7 月 9 日
There aer a number of techniques to do interpolations. Can you post the code you have used so far?
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Splines についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!