B-spline curve interpolation

조회 수: 8 (최근 30일)
Lokesh Rakawat
Lokesh Rakawat 2018년 4월 25일
댓글: Unai San Miguel 2018년 7월 9일
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
Lokesh Rakawat
Lokesh Rakawat 2018년 4월 25일
Anybody, please any idea?
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