How to plot closed polygon from set of random points with edges not intersecting?
32 ビュー (過去 30 日間)
古いコメントを表示
I have set of random points in 2D plane, and have to make a closed polygon without any intersection between edges. There is a possibility that one or more polygons can be drawn. How do I get all those possible polygons along with their perimeter.
11 件のコメント
採用された回答
KSSV
2018 年 5 月 11 日
編集済み: KSSV
2018 年 5 月 11 日
How about this?
N = 100 ;
x = rand(1,N) ;
y = rand(1,N) ;
P = [x; y]; % coordinates / points
c = mean(P,2); % mean/ central point
d = P-c ; % vectors connecting the central point and the given points
th = atan2(d(2,:),d(1,:)); % angle above x axis
[th, idx] = sort(th); % sorting the angles
P = P(:,idx); % sorting the given points
P = [P P(:,1)]; % add the first at the end to close the polygon
plot( P(1,:), P(2,:), '.-r');
2 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Elementary Polygons についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!