Create coordinates on a convex hull
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kwek Lawrence
am 12 Sep. 2019
Bearbeitet: Bruno Luong
am 12 Sep. 2019
I have a convex hull, defined by
k=convhull(x,y)
P=[x(k),y(k)]
kS=polyshape(P)
kP=perimeter(kShape)
How can I divide the perimeter of the convex hull into n (e.g. 500) equal distance/lengths, and find the respective coordinates?
0 Kommentare
Akzeptierte Antwort
Bruno Luong
am 12 Sep. 2019
Bearbeitet: Bruno Luong
am 12 Sep. 2019
% test data
xy=rand(100,2);
P=xy(convhull(xy),:);
d=[0;cumsum(sqrt(sum(diff(P).^2,2)))];
xyi=interp1(d,P,linspace(0,d(end),501)); % first point ~= last point
plot(P(:,1),P(:,2),'or',xyi(:,1),xyi(:,2),'b.-');
0 Kommentare
Weitere Antworten (1)
Bjorn Gustavsson
am 12 Sep. 2019
Perhaps this function is overkill, but to me it seems as if this FEX-contribution should help:
xy2sn, I don't know if it is the functionality of xy2sn or the sn2xy that most resembles your request.
Perhaps either of these contributions solves your problem better:
HTH
0 Kommentare
Siehe auch
Kategorien
Mehr zu Bounding Regions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!