B-spline curve interpolation

2 次查看(过去 30 天)
Lokesh Rakawat
Lokesh Rakawat 2018-4-25
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
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 CenterFile Exchange 中查找有关 Splines 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by