У меня есть два списка в Python, которые соответствуют X-координатам и Y-координатам в 2-мерном массиве при вращении вокруг эллипса.X-координаты выглядят примерно так: x_coords = [299.97, 298, 297, 296, 295.41, 295, 294.91, 295.012, 295.58, 296.1, ...]
, а y_coords
- это та же длина, но имеет разные значения.
Как видите, значения не разделены одинаково, и они увеличиваются и уменьшаются по всемусписок (как они идут по эллипсу).Я могу вычислить расстояние между любыми двумя смежными (x, y) точками на эллипсе с помощью:
import numpy as np
distances = []
for i in range(len(x_coords)):
if i==len(x_coords)-1:
break
dist = np.sqrt((x_coords[i+1]-x_coords[i])**2 + (y_coords[i+1]-y_coords[i])**2)
distances.append(dist)
Когда я печатаю distances
, я вижу, что они все разные.Таким образом, мои (x, y) пары координат расположены не одинаково.Я хотел бы найти способ сделать их всех одинаково разнесенными.Я предполагаю, что это потребовало бы интерполяции между каждым значением в пределах x_coords
и y_coords
таким образом, что distances
возвращает значения, которые все равны.Конечно, x_coords
и y_coords
также должны иметь одинаковую длину, так что (x_coords[i], y_coords[i])
будет соответствовать точке (x, y) в той же позиции в пространстве.Как мне это сделать?