找出正方形随机中心的圆恰好包含 K 个点的概率
Find probablity that circle with random center in square contains exactly K points
我正在处理一个可以简化为以下内容的问题:
- 给定一个顶点位于 (0, 0)、(0, 1)、(1, 0) 和 (1, 1) 的正方形。
- 给定 K 个点 (x, y) 的有限非空集严格位于该正方形内且数字 0 < R <= 2。
- 求出半径为R且正方形任意圆心(可能位于边上)的圆包含所有K个点的概率P。
我认为这是一个几何概率,计算答案需要用包含所有K个点的所有圆的总面积除以正方形的面积,显然是1。
让K = 1,那么计算P就很容易了,我们取这个点并绕它旋转一个圆,所以它会画一个半径为2R的圆,它包括所有包含这个点的半径为R的圆;把正方形外面的部分剪掉,然后计算剩下的部分的面积。
如果 K = 2,那么首先我们检查点之间的距离是否不大于 2R,以便存在包含两个点的圆。但我真的不明白如何计算总面积,因为如果合理的话,最终数字将是四叶花。以此类推以获得更大的 K...
我觉得这可能是一个简单的解决方案,想知道是否有更优雅的解决方案。
给定K个点,如果半径为R的圆盘覆盖了它们的凸包,则覆盖它们。如果您尝试圆盘的所有位置,最极端的位置是圆周穿过一个或两个船体顶点。如果我们考虑通过给定顶点的所有位置,我们可以在与船体上两个相邻顶点的接触之间的角度内旋转圆盘。在这个旋转过程中,圆心描绘了一个半径为R的圆弧。
因此,圆盘中心的轨迹是由半径为 R 的圆弧组成的凸曲线多边形。要获得所需的概率,请将此多边形与单位正方形相交并计算公共面积。
图中K=6个点的凸包是绿色的。红色圆圈是有两个触点的极端位置。圆盘中心的轨迹用蓝色分隔。
一旦有了凸包,构建曲线多边形就不那么困难了,要获得它的面积,您可以分解为一个标准多边形和一组圆弧段。
但是单位正方形内部的裁剪会让人头疼。
我正在处理一个可以简化为以下内容的问题:
- 给定一个顶点位于 (0, 0)、(0, 1)、(1, 0) 和 (1, 1) 的正方形。
- 给定 K 个点 (x, y) 的有限非空集严格位于该正方形内且数字 0 < R <= 2。
- 求出半径为R且正方形任意圆心(可能位于边上)的圆包含所有K个点的概率P。
我认为这是一个几何概率,计算答案需要用包含所有K个点的所有圆的总面积除以正方形的面积,显然是1。
让K = 1,那么计算P就很容易了,我们取这个点并绕它旋转一个圆,所以它会画一个半径为2R的圆,它包括所有包含这个点的半径为R的圆;把正方形外面的部分剪掉,然后计算剩下的部分的面积。
如果 K = 2,那么首先我们检查点之间的距离是否不大于 2R,以便存在包含两个点的圆。但我真的不明白如何计算总面积,因为如果合理的话,最终数字将是四叶花。以此类推以获得更大的 K...
我觉得这可能是一个简单的解决方案,想知道是否有更优雅的解决方案。
给定K个点,如果半径为R的圆盘覆盖了它们的凸包,则覆盖它们。如果您尝试圆盘的所有位置,最极端的位置是圆周穿过一个或两个船体顶点。如果我们考虑通过给定顶点的所有位置,我们可以在与船体上两个相邻顶点的接触之间的角度内旋转圆盘。在这个旋转过程中,圆心描绘了一个半径为R的圆弧。
因此,圆盘中心的轨迹是由半径为 R 的圆弧组成的凸曲线多边形。要获得所需的概率,请将此多边形与单位正方形相交并计算公共面积。
图中K=6个点的凸包是绿色的。红色圆圈是有两个触点的极端位置。圆盘中心的轨迹用蓝色分隔。
一旦有了凸包,构建曲线多边形就不那么困难了,要获得它的面积,您可以分解为一个标准多边形和一组圆弧段。
但是单位正方形内部的裁剪会让人头疼。