gpt4 book ai didi

linux - 在矩形内生成随机点(均匀地)?

转载 作者:IT王子 更新时间:2023-10-29 00:47:26 26 4
gpt4 key购买 nike

我试图在矩形内生成一定数量的随机均匀点(我知道每个角的坐标对)。

让我们的矩形是ABCD

我的想法是:用 AC 对角线将矩形分成两个三角形。求对角线的斜率和截距。然后,从[0,1]区间生成两个随机数,设a,b。评估 x = aAB 和 y = bAD(AB、AD、距离)。如果 A 不是 (0,0),那么我们可以将 A 的 x 和 y 坐标相加。现在我们有一个点 (x,y)。如果它不在下三角 (ABC) 中,则跳至下一步。否则,将该点添加到我们的图中,并添加 (x,y) 与 AC 对角线的对称性,以便我们也可以填充上三角 (ADC)。

我已经实现了这个,但我非常怀疑这些点是统一生成的(从情节来看)。我应该如何修改我的算法?我想这个问题与我如何选择三角形和对称的东西有关。

Picture

最佳答案

为什么不直接生成 x=random([A.x, B.x]) 和 y=random([B.y, C.y]) 并将它们放在一起作为 (x,y)? n 维均匀分布只是分量的 n 个均匀分布的乘积。

关于linux - 在矩形内生成随机点(均匀地)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16611562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com