在我的程序中,我有5个坐标。在Python中,我想把这5个点连接在一起形成一个五边形,并知道哪些点连接在一起形成了每一边。我的目标是从五边形的一边随机选择一个点。有人知道我如何用Python写这个吗?我试着阅读船体,但没有任何结果。我不确定这个问题是否需要这样做。谢谢!
5q4ezhmt1#
可使用以下方法在线段上生成点:
x0 = x1 + a * (x2 - x1) y0 = y1 + a * (y2 - y1)
,其中(x1, y1)和(x2, y2)是段的起点和终点,并且a是0和1之间的数。现在,为了解决这个问题,你需要两个随机数,首先是一个整数,用来选择五边形的一个随机边,然后是一个介于0和1之间的浮点数,用来在该边上生成一个随机点:
(x1, y1)
(x2, y2)
a
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)
1条答案
按热度按时间5q4ezhmt1#
可使用以下方法在线段上生成点:
,其中
(x1, y1)
和(x2, y2)
是段的起点和终点,并且a
是0和1之间的数。现在,为了解决这个问题,你需要两个随机数,首先是一个整数,用来选择五边形的一个随机边,然后是一个介于0和1之间的浮点数,用来在该边上生成一个随机点: