Давайте возьмем эти очки.
pt={{-4.65371,0.1},{-4.68489,0.103169},{-4.78341,0.104834},{-4.83897,0.100757},
{-4.92102,0.0949725},{-4.93456,0.100181},{-4.89166,0.122666},{-4.78298,0.129514},
{-4.72723,0.121442},{-4.68355,0.11023},{-4.65371,0.1},{-4.66924,0.10173},
{-4.93059,0.0966989},{-4.93259,0.105094},{-4.91074,0.116966},{-4.90635,0.094878},
{-4.66846,0.105327},{-4.92647,0.0956182},{-4.93433,0.102498},{-4.9333,0.0982262},
{-4.66257,0.10102}};
Теперь они в определенном порядке (для меня это беспорядок!), Что можно увидеть, если мы посмотрим на ListLinePLot
picUnorder=ListLinePlot[pt,Frame-> True,Mesh-> All,MeshStyle-> PointSize[Large]];
SeepicUnorder=ListLinePlot[pt,Frame-> True,Mesh-> All,MeshStyle->
PointSize[Large]]/.Line[rest_]:>{Arrowheads[Table[0.02,{i,0,1,.02}]],Arrow[rest]};
GraphicsGrid[{{picUnorder,SeepicUnorder}}]
![enter image description here](https://i.stack.imgur.com/QCsSK.png)
Но нам нужно заказать их, как на картинке ниже.
![enter image description here](https://i.stack.imgur.com/ou2Ad.png)
Есть ли у кого-нибудь предложение для алгоритма сортировки таких 2D точек в направлении против часовой стрелки, чтобы мы могли изменить список точек для создания геометрии, подобной последней картинке, просто используя ListLinePlot
в переставленных точках ???
Используя предложение , мы получаем что-то вроде следующего.
center=Mean[pt];
pts=SortBy[pt,Function[p,{x,y}=p-center;ArcTan[x,y]]];
Show[ListPlot[pt],ListLinePlot[pts,Mesh-> All,MeshStyle->
PointSize[Large]],Frame-> True]
![enter image description here](https://i.stack.imgur.com/Jddt5.png)
BR