長さ100の2次元グリッドを生成しましたが、2次元の点を表すタプルのベクトルがあります。2次元グリッド上のベクトルを補間する方法
x1 = np.linspace(-1,1,10)
y1 = np.linspace(-1,1,10)
grid=[]
for i in x1:
for j in y1:
grid.append((i,j))
#The vector
vec=[(.033,-.22),(.5,-.9),(-.77,-.01),(.5,.2)]
私がしたいことは、グリッドのすべてのセル100を反復することで、ベクトルタプルは、その座標範囲で存在するところはどこでも、私はそれ他0
に対して1
をしたいです。したがって、出力グリッドは4つのもの(vecに対応)& 96ゼロを持ちます。
**私は、グリッドの座標範囲を言うとき、私はこのような何かを意味する: -
ctr=0
for i in x1:
for j in y1:
if ctr==0:
temp=(i,j)
ctr+=1
continue
else:
print temp, "to" ,i,j
temp=(i,j)
ctr+=1
結果はベクターから4ポイントのうち3ポイントしかインデックス化されません。 (-0.11111111111111116,1.0)(0.11111111111111116、-1.0) 1 :(0.33333333333333326,1.0)(0.55555555555555536、-1.0) 1 :(-0.77777777777777779,1.0)(-0.55555555555555558、 -1,0) 1:(0.33333333333333326,1.0)(0.55555555555555536、-1.0) ' – vinita
実際には、2番目と最後の入力ベクトルが同じ位置を作成するのであなたのグリッドでは、すべてのインデックスがbisectによって返されますが、 'result [idx]'は1つしか変更しません。したがって、4のうち3つは出力を確認することができます。 'printx(idxのxにはgrid [x-1]、grid [x])を出力します。それは等しいです。 –
良い仕事、私は実際のグリッドでそれをテストさせてください:-)。私はそれも3dグリッドのために動作することを望む?または3Dグリッド用の他のライブラリがありますか? – vinita