Итак, для начала у нас есть ряд точек, расположенных на оси X (расстояние между точками может варьироваться, а количество точек может варьироваться. В например, у нас есть 5 стартовых точек). Мы выполняем сдвиг вдоль y за несколько шагов (в примере за 3 шага), чтобы получить окончательное значение y (в данном случае 3 единицы). Числа, выделенные желтым цветом, соответствуют их индексам.
Моя цель — добиться следующего:

Иными словами, создать связи между точками, которые следуют за переводом.
На практике и чтобы упростить задачу, я хотел бы получить окончательный массив, например это:
Код: Выделить всё
final :
[[ 0 6] [ 6 12] [12 18]
[ 1 7] [ 7 13] [13 19]
[ 2 8] [ 8 14] [14 20]
[ 3 9] [ 9 15] [15 21]
[ 4 10] [10 16] [16 22]
[ 5 11] [11 17] [17 23]]
Код: Выделить всё
import numpy as np
# u: number of points along the x axis
u = 6
# v: number of points along the y axis
v = 4
def x_links(u,v):
matrice = np.arange(u*v).reshape((v, u))
links =np.array([])
for i in range(u):
a = np.repeat(matrice[:,i],2)[1:-1]
links=np.append(links,a).astype(int)
return links.reshape(int(len(links)/2),2)
example = x_links(u,v)
print("final : \n",example)
- Может ли кто-нибудь придумать лучший способ достижения того же результата? гораздо более питонический скрипт...
- В частности, можно ли было бы обойтись без использования цикла?
Подробнее здесь: https://stackoverflow.com/questions/791 ... cific-form
Мобильная версия