python 如何从五边形的一条边中随机选取一个点?

dkqlctbz  于 2023-01-16  发布在  Python
关注(0)|答案(1)|浏览(143)

在我的程序中,我有5个坐标。在Python中,我想把这5个点连接在一起形成一个五边形,并知道哪些点连接在一起形成了每一边。我的目标是从五边形的一边随机选择一个点。有人知道我如何用Python写这个吗?我试着阅读船体,但没有任何结果。我不确定这个问题是否需要这样做。谢谢!

5q4ezhmt

5q4ezhmt1#

可使用以下方法在线段上生成点:

x0 = x1 + a * (x2 - x1)
y0 = y1 + a * (y2 - y1)

,其中(x1, y1)(x2, y2)是段的起点和终点,并且a是0和1之间的数。
现在,为了解决这个问题,你需要两个随机数,首先是一个整数,用来选择五边形的一个随机边,然后是一个介于0和1之间的浮点数,用来在该边上生成一个随机点:

import random as rnd

i = rnd.randrange(5)
j = (i+1) % 5
t = rnd.uniform(0, 1)

x = [0, 1, 2, 3, 4]
y = [4, 3, 2, 1, 0]

x0 = x[i] + t * (x[j] - x[i])
y0 = y[i] + t * (y[j] - y[i])
print(i, j, t, x0, y0)

相关问题