Интерполяция между двумя точками (2D) в Python - PullRequest
0 голосов
/ 12 декабря 2018

Моя цель - интерполировать пару точек в Python.Я использовал следующий подход:

def interpolate(obs,radius, n_steps):
    ox = obs[:,0].tolist()  # obstacle x position list [m]
    oy = obs[:,1].tolist() # obstacle y position list [m]
    interpol = []
    for i in range(1,len(ox)):
        prev_ = np.array([ox[i-1],oy[i-1]])
        next_ = np.array([ox[i],oy[i]])
        dist= radius[i-1]+radius[i]
        for j in range(n_steps+1):
            dr= dist/n_steps
            dir_= next_ - prev_
            dir_ = dir_ / np.linalg.norm(dir_)
            next_point= prev_ + dr*j*dir_
            interpol.append([next_point[0],next_point[1]])
    return interpol

Это двухмерный сценарий.По какой-то причине я получаю неполный результат следующим образом: пара точек

Есть идеи, какой крайний случай мне не хватает?Заранее спасибо, Бруно

...