Тип границы Bspline для параметрической кривой - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу наложить условия на производную на границах для параметрической Bspline.

r=[1.08,1.08,  0.987, 0.82,  0.734, 0.692, 0.40]
phi=np.linspace(0,np.pi/2,len(r))
x, y = r*np.cos(phi), r*np.sin(phi) 
l, r = [(1, 0)], [(1, 0)]    
spl = make_interp_spline(phi, np.c_[x, y], bc_type=(l,r))

Я получил ValueError: «не могу преобразовать массив размера 1 в shape (2)», связанный с rhs [: nleft] = производная_l_vals.reshape (-1, extradim)

Я подозреваю, что неправильно наложил BC.Но, читая документацию, я вижу только такой способ наложения БК (для сплайна в декартовых координатах).Нет явного упоминания о том, как сделать это в параметрической кривой.

Кто-нибудь знает, как это разобраться?Я бы не стал переписывать все в непараметрической форме ....

1 Ответ

0 голосов
/ 20 ноября 2018

Само-ответ: как и предполагалось, БК наложены неправильно: очевидно, нужны были два компонента ... например,

l, r = [(1, (0,-1))], [(1, (1,0))]    
...