PythonでランダムなXとYの座標を生成する方法について説明します。この記事では、特定の範囲内でランダムな座標を生成する方法と、特定の距離を保つ座標を生成する方法を紹介します。
ランダムな座標の生成
Pythonのrandom
モジュールを使用して、特定の範囲内でランダムな座標を生成することができます。以下にそのコードを示します。
import random
coords = [(random.random()*2.0, random.random()*2.0) for _ in range(10000)]
このコードは、0以上2未満の範囲でランダムな浮動小数点数を生成し、それをXとYの座標として使用します。これにより、10,000個のランダムな座標が生成されます。
特定の距離を保つ座標の生成
特定の距離を保つ座標を生成するには、少し工夫が必要です。以下にそのコードを示します。
import random
radius = 200
rangeX = (0, 2500)
rangeY = (0, 2500)
qty = 100 # or however many points you want
# Generate a set of all points within 200 of the origin, to be used as offsets later
deltas = set()
for x in range(-radius, radius+1):
for y in range(-radius, radius+1):
if x*x + y*y <= radius*radius:
deltas.add((x,y))
randPoints = []
excluded = set()
i = 0
while i<qty:
x = random.randrange(*rangeX)
y = random.randrange(*rangeY)
if (x,y) in excluded:
continue
randPoints.append((x,y))
i += 1
excluded.update((x+dx, y+dy) for (dx,dy) in deltas)
print(randPoints)
このコードは、新しい点が生成されるたびに、その点から一定の距離内にあるすべての点を除外リストに追加します。これにより、生成されるすべての点は、他のすべての点から一定の距離を保つことが保証されます。
以上がPythonでランダムなXとYの座標を生成する方法になります。これらのコードを参考に、自分のプロジェクトに適した座標生成方法を見つけてみてください。