how to resample points with preset angle

2 views (last 30 days)
Hi expert,
I am not sure if the title of this post represents the question I am going to ask very well.
I have the coordinate of a rounded triangle as shown in the plot
The coordinate of the plot is listed below. My question is how to resample this curve suppose I want to have them every theta = 2*pi/37 or every 10 degree spacing.
the x and y coordinate of the triangle is:
0.7900 0
0.7898 0.0816
0.7893 0.1627
0.7883 0.2426
0.7868 0.3211
0.7847 0.3974
0.7819 0.4712
0.7781 0.5420
0.7733 0.6094
0.7672 0.6730
0.7596 0.7325
0.7503 0.7875
0.7391 0.8379
0.7257 0.8834
0.7100 0.9238
0.6917 0.9591
0.6707 0.9892
0.6467 1.0141
0.6197 1.0338
0.5895 1.0484
0.5560 1.0580
0.5191 1.0627
0.4789 1.0627
0.4353 1.0583
0.3885 1.0497
0.3384 1.0371
0.2852 1.0208
0.2291 1.0010
0.1703 0.9782
0.1090 0.9526
0.0454 0.9244
-0.0200 0.8940
-0.0870 0.8616
-0.1553 0.8276
-0.2244 0.7922
-0.2940 0.7557
-0.3637 0.7182
-0.4330 0.6800
-0.5016 0.6414
-0.5690 0.6024
-0.6348 0.5632
-0.6986 0.5240
-0.7600 0.4848
-0.8185 0.4458
-0.8739 0.4071
-0.9258 0.3686
-0.9737 0.3305
-1.0175 0.2926
-1.0569 0.2552
-1.0915 0.2180
-1.1212 0.1812
-1.1458 0.1446
-1.1650 0.1082
-1.1789 0.0721
-1.1872 0.0360
-1.1900 0
-1.1872 -0.0360
-1.1789 -0.0721
-1.1650 -0.1082
-1.1458 -0.1446
-1.1212 -0.1812
-1.0915 -0.2180
-1.0569 -0.2552
-1.0175 -0.2926
-0.9737 -0.3305
-0.9258 -0.3686
-0.8739 -0.4071
-0.8185 -0.4458
-0.7600 -0.4848
-0.6986 -0.5240
-0.6348 -0.5632
-0.5690 -0.6024
-0.5016 -0.6414
-0.4330 -0.6800
-0.3637 -0.7182
-0.2940 -0.7557
-0.2244 -0.7922
-0.1553 -0.8276
-0.0870 -0.8616
-0.0200 -0.8940
0.0454 -0.9244
0.1090 -0.9526
0.1703 -0.9782
0.2291 -1.0010
0.2852 -1.0208
0.3384 -1.0371
0.3885 -1.0497
0.4353 -1.0583
0.4789 -1.0627
0.5191 -1.0627
0.5560 -1.0580
0.5895 -1.0484
0.6197 -1.0338
0.6467 -1.0141
0.6707 -0.9892
0.6917 -0.9591
0.7100 -0.9238
0.7257 -0.8834
0.7391 -0.8379
0.7503 -0.7875
0.7596 -0.7325
0.7672 -0.6730
0.7733 -0.6094
0.7781 -0.5420
0.7819 -0.4712
0.7847 -0.3974
0.7868 -0.3211
0.7883 -0.2426
0.7893 -0.1627
0.7898 -0.0816
0.7900 0

Accepted Answer

Ameer Hamza
Ameer Hamza on 27 Jun 2018
Try this
x = points(:,1); % first column of points you shared
y = points(:,2); % second column of points
x_new = interp1(linspace(0, 2*pi, numel(x)), x, 0:2*pi/37:2*pi);
y_new = interp1(linspace(0, 2*pi, numel(y)), y, 0:2*pi/37:2*pi);
x_new and y_new contains the required points.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!