如果要对均匀分布在3D球体(即3D球的表面)上的点进行采样,请使用简单的拒绝法或Marsaglia的方法(Ann。Math。Statist。,43(1972),第645页– 646)。对于小尺寸,废品率非常低。
如果要从高维球体和球中生成随机点,则取决于模拟的目的和规模。如果不想执行大型仿真,请使用Muller(Commun。ACM,2(1959),第19–20页)的方法或“球形”版本(请参见上面引用的Harman&Lacko的论文)。那是:
以获得均匀分布在n球(表面)上的样本1)从n维标准正态分布生成X 2)将X的每个分量除以X的欧几里得范数
以获得均匀分布在n球(内部)上的样本1)从(n + 2)维标准正态分布生成X 2)将X的每个分量除以X的欧几里得范数,仅取前n个分量
如果要执行大型仿真,则应研究更专业的方法。根据要求,我可以向您发送有关条件分布方法的Harman和Lacko的论文,其中提供了本次讨论中提到的某些算法的分类和概括。该联系人可以在我的网站上找到(http://www.iam.fmph.uniba.sk/ospm/Lacko)
如果要检查球的表面或内部的点是否真正均匀,请查看边界(由于旋转不变性,所有边界应相同,投影样本的平方范数是beta分布)。