平面上の点列との交点を探すpythonのスクリプトを作っていただけないでしょうか。
平面上の点列をあらわす(x,y)のリストがあり、ランダムな新たな1点を考えます。
その点から上下左右8方向にある最近と最遠の交点を効率よく探したいです。
下記は効率が悪いプログラムです。
最も効率が良いスクリプトには、少ないですが500ポイントを差し上げます。
説明に解りにくい部分があれば質問してください。
よろしくお願いいたします。
**〜〜
>||
def check_simple(xy, xy_list):
vect = [(1, 0), (0, -1), (-1, 0), (0, 1), (1, 1), (1, -1), (-1, 1), (-1, -1)]
min_count = 1000
min_v = vect[0]
max_count = 0
max_v = vect[0]
x = xy[0]
y = xy[1]
for v in vect:
count = 0
for i in range(1000):
if (x, y) in xy_list:
if count < min_count:
min_count = count
min_v = v
if count > max_count:
max_count = count
max_v = v
break
count += 1
x += v[0]
y += v[1]
logger.info("min_count: %d, max_count: %d", min_count, max_count)
return min_v, max_v
||<
平面上の点列との交点を探すpythonのスクリプトを作っていただけないでしょうか。
平面上の点列をあらわす(x,y)のリストがあり、ランダムな新たな1点を考えます。
その点から上下左右8方向にある最近と最遠の交点を効率よく探したいです。
補足にあるのが効率が悪いプログラムです。
最も効率が良いスクリプトには、少ないですが500ポイントを差し上げます。
説明に解りにくい部分があれば質問してください。
よろしくお願いいたします。