2

我正在尝试使用增强随机生成器使随机点均匀分布在平面上。我有以下链接可以在一个维度上进行操作:

在这里,它们用于boost::uniform_int<>生成int单一维度的数字。

但就我而言,我希望float在平面上生成二维数字。

是否有任何分布类型可以在二维中使用它?(我见过boost::uniform_on_sphere,但它适用于球面。)

4

2 回答 2

0

使用uniform_01分布并生成两个随机数,为您提供 x 和 y 坐标。相应地缩放:)

于 2013-01-25T13:11:39.630 回答
0

如果x遵循均匀分布 0 到ay遵循均匀分布 0 到,b则点(x, y)在矩形上均匀分布,(0,0)-(a,b)无需任何特殊方法。只需生成两个随机数而不是一个。

这些将需要以不同的方式分布它们,例如在圆的边缘(当你谈论球体时)。

于 2013-01-25T13:16:22.000 回答