以下のプロットのように、いくつかの点を含むグリッドがあるとします。
私の目標は、グリッドのボックスごとにポイントを数えることです。そして、これは私の最初の試みです。
for tupel in point_list:
a=0
b=0
for i in self.boxvector:
if tupel[0] < i:
a=self.boxvector.index(i)-1
break
for i in self.boxvector:
if tupel[1] < i:
b=self.boxvector.index(i)-1
break
farray[a][b]+=1
動作しますが、遅いです。少しスピードアップすることはありますか?
という名前の変数を使用してboxvector
、グリッドを定義します。この例では、boxvector は次のとおりboxvector = [-1., -.5, 0, .5, 1.]
です。グリッドは常に最大値が -1 と 1 の 2 次です。ボックスは のfarray
ように で表されますfarray = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
。そのため、アルゴリズムが対応するボックスでポイントを見つけるたびにインクリメントされる各ボックスに 1 つの値があります。point_list の形式はpoint_list = [(x0,y0),(x1,y1),(x3,y3), ...]
ご協力ありがとうございました !