如何生成介于0和2π之间的随机数?

3

3
看看math.h库中的fmod函数,但你最好使用类似于2*M_PI * rand() / (RAND_MAX + 1)的方法。这样可能会更好。 - Alok Singhal
我在发帖之前实际上看到过这个,但对如何将其转换为去π不太确定。现在我明白了。谢谢。 - PseudoPsyche
为什么与C相关的问题会被关闭,并且标记为C++相关的重复问题呢?这个问题还在这里:如何获得在*[0, 1)*范围内均匀分布的double/float值。 - Stanislav Volodarskiy
1个回答

4

生成一个0到1之间的随机数,并将结果乘以2*M_PI

如果您有一个在0到1之间的均匀分布,则您也将具有在0到2*M_PI之间的均匀分布,限制为您使用的数字类型中可用的精度。

要生成介于0和1之间的随机均匀双精度数,请参见@dasblinkenlight在其评论中建议的答案


谢谢!是的,我看到了之前解释如何生成在0和1之间的随机数的线程,但没有意识到将其简单地转换为π就那么容易。 - PseudoPsyche

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接