Сортировка точек по расстоянию до заданной точки x,y здесь в моем случае (x=0,y=o)Python

Программы на Python
Ответить
Anonymous
 Сортировка точек по расстоянию до заданной точки x,y здесь в моем случае (x=0,y=o)

Сообщение Anonymous »

Я хотел бы отсортировать (от самого короткого до самого длинного) массив «a» (как указано ниже) по расстоянию от начала координат или точки (в моем случае 0,0) и сохранить его в массиве аналогичного типа «b» или заменить массив «a»

данные ниже точки представляют собой трехмерный массив

[[[ 510. 11.]]

[[ 651. 276.]]

[[ 269. 70.]]

[[ 920. 26.]]

[[ 513. 21.]]

[[ 1197. 620.]]

[[ 407. 268.]]

[[ 452. 35.]]

[[ 435. 3.]]

[[ 520. 20.]]

[[ 1151. 499.]]

[[ 104. 26.]]

[[ 754. 28.]]

[[ 263. 111.]]

[[ 731. 12.]]

[[ 972. 200.]]

[[ 1186. 614.]]

[[ 437. 2.]]

[[ 1096. 68.]]

[[ 997. 201.]]

[[ 1087. 200.]]

[[ 913. 201.]]

[[ 1156. 510.]]

[[ 994. 230.]]

[[ 793. 29.]]

[[ 514. 19.]]]


Я не могу найти никакой полезной информации относительно такого рода сортировки массивов 3d np.

ps: Эти точки «a» были получены из Goodfeaturestotrack, OPEN CV, Python 3.6

и как очистить массив до нулевого типа?

#this is clustering algorithm
for index in range(len(a): #a is the above matrix 3d np array
#find distance was already defined and is euclidean distance formula
if findDistance(a[index][0], a[index][1], a[index + 1][0], a[index + 1][1]) < 3: #calculation euclidean distance between ai and ai+1
c.append(index)
if findDistance(a[index][0], a[index][1], a[index + 1][0], a[index + 1][1]) > 3: #calculation euclidean distance between ai and ai+1
if len(c) > 10:
cp = np.insert(cp, c, 0)

c = [] # should clear c **is this correct ??**


Подробнее здесь: https://stackoverflow.com/questions/465 ... se-x-0-y-o
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»