pp.sort(key=lambda p: math.atan2(p[1] - cent[1], p[0] - cent[0]))
pylab.scatter([p[0] for p in pp], [p[1] for p in pp])
pylab.gca().add_patch(patches.Polygon(pp, closed=False, fill=False))
упорядочивание перетасованных точек, которые можно соединить для формирования многоугольника (в python)