def two2N(coords, N):
assert N > 2
assert len(coords.shape) == 2
step = np.diff(coords, axis=0) / (N-1)
res_list = [coords[0]]
for i in range(N-2):
res_list.append( (res_list[-1]+step[0]) )
res_list.append( coords[-1] )
return np.array(res_list)
coords = np.array([[1856.10465116, 1188.6627907 ],
[2053.77906977, 1185.75581395]])
two2N(coords, 8).tolist()
[[1856.10465116, 1188.6627907],
[1884.3438538185715, 1188.2475083071429],
[1912.583056477143, 1187.8322259142858],
[1940.8222591357144, 1187.4169435214287],
[1969.0614617942858, 1187.0016611285716],
[1997.3006644528573, 1186.5863787357146],
[2025.5398671114287, 1186.1710963428575],
[2053.77906977, 1185.75581395]]