Интерполировать списки Python с различной скоростью, чтобы получить одинаково разнесенные значения - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть два списка в 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) в той же позиции в пространстве.Как мне это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...