Making lines between data points smoother.

2 Ansichten (letzte 30 Tage)
Michael Neal
Michael Neal am 1 Mai 2012
Hey guys, My friend and I are developing a tool that plots the shape of a propeller when the user inputs the pitch at 10 segments of the blade. We are generating the plots with a large number of data points. Our goal is to make a set of data points flow between the 10 segments defined by the user. The issue is that we were using the polynomial best fit to the highest degree but it freaks out if the pitches differ too much. Are there any ways to make the parts of the blade connect in a more ideal manner?

Antworten (1)

Geoff
Geoff am 1 Mai 2012
Perhaps you're looking for something like spline. I believe the entire notion of splines was invented by a boat-builder. =)
% Approximate a circle.
A = 0:30:360;
x = cosd(A);
y = sind(A);
% Represent the data as splines
sx = spline(A,x);
sy = spline(A,y);
% Interpolate the splines at 1-degree intervals
S = 0:360;
xx = ppval(sx,S);
yy = ppval(sy,S);
% Display the before and after
plot(x, y, 'r.-.');
hold on;
plot(xx,yy);
hold off;
legend('Original', 'Interpolated');
  1 Kommentar
Geoff
Geoff am 1 Mai 2012
Note: This approach works in any number of dimensions.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Splines finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by