Identifying elements of an array in clockwise order

1 次查看(过去 30 天)
If I have an array A such that it contains vertex coordinates of polygons where
A=[ 1 1;
2 0;
4 0;
10 1;
0 0;
1 5;
11 2;
0 2;
2 2;
.
.
.
x y ]
and C such that it contains the collection of vertex locations in A of a polygon where C is something like:
C = {[ 2, 5, 8, 9]
.
.
.
[x,y locations in A]}
C{1} contains the coordinates (2,0), (0,0), (0,2), and (2,2) from A. I want to take say, the first elements of C{1}, and sort C such that the remaining element order in C{1} moves clockwise (or counter-clockwise) in terms of element location with respect to polygon generation. So C{1}(1)=2 (2,0), and the remaining elements would follow as such:
C{1}(2)=9 (2,2)
C{1}(3)=8 (0,2)
C{1}(4)=5 (0,0)
  6 个评论
Sean
Sean 2014-7-8
For future reference, something like this
v = cell(size(C));
for j=1:length(C)
frodo = C{j};
aragorn_x = new_pts(frodo,1);
aragorn_y = new_pts(frodo,2);
DT = delaunayTriangulation(aragorn_x,aragorn_y);
[K,v{j}] = convexHull(DT);
end
turned out to be valuable (with the help of Jos (10584)).

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by