2019-09-30 最小外包圆的计算方法以及证明

给定平面一堆点集,求包含这些点的面积最小的圆形
该问题最初为数学家西尔维斯特提出

网上虽有解法,但未有证明,以下方法为笔者独立思考的结果

1,基本思路是迭代,假设要求的点的个数是N,我们可以先求出第一个点的最小外包圆,再求出前2个点的,然后前3个。。。
每次引入一个新点

首先证明一个引理:一个圆是一堆点(个数>=2)的最小外包圆 等价于 该圆同时满足以下2个性质:
(1)圆周上有>=2个点,其余点全部在圆内部;
(2)圆周上的点所形成的凸包包含圆心;

证明如下:

先证=> :
如果该圆周上的点数小于<=1,因为其是外包圆,则其余所有点都位于圆内部,显然我们可以把圆保持与该点接触的状态去缩小它,直到和另外一个点也接触,得到一个更小的外包圆,矛盾,
所以(1)成立;
假设(2)不成立,如果凸包不包含圆心,可以找到圆的一条直径,使得凸包的顶点整个位于直径的一侧,并且其余点都在圆内部,那么我们可以将这个圆沿着和该直径垂直,且指向凸包的方向平移微小量使得所有点都位于圆内部,那么再缩小该圆直至满足性质(1),可以得到一个更小的外包圆,矛盾;

再证<=:
根据性质(1),(2)这个圆显然被 圆周上的点所”固定“住了,这是因为我们无法将该圆缩小或者向任何一个方向移动 而又保持不让凸包的任何部分落到圆外面;因为圆向任何一方向移动时,与该方向垂直的那条直径两侧圆周上都有 点(性质2),一旦移动某一侧的顶点就会落到圆外面,这意味着该圆无法再缩小,因此它就是最小外包圆;

证明完毕 ,后文中把这2个性质简称为 性质1 和性质 2

下面来构建求最小外包圆的方法,用数学归纳法:
1,假设已经求得了前n个点的最小外包圆 (后文中简称为圆1),现在要求前n+1个点的最小外包圆(后文中简称为目标圆)
下面我给出2个命题:
命题1:如果第n+1个点位于圆1内部,则目标圆就是圆1;
命题2:如果第n+1个点位于圆1外部,则该点一定位于目标圆的圆周上;

下面对这2个命题进行证明如下:

先证命题1:
我们设包含所有前n个点的圆(允许点落在圆周上)所组成的集合为S[n],包含所有前n+1个点的圆的集合为S[n+1],
因为包含前n+1个点的圆一定也包含前n个点,所以S[n+1]是S[n]的子集;则S[n]中半径最小的圆如果也属于S[n+1],则它一定也是S[n+1]中半径最小的圆;
这就证明了命题1;

再证命题2:
反证法,假设第n+1个点位于圆1外部且不在目标圆的圆周上,根据目标圆是最小外包圆的性质,第n+1个点一定位于目标圆内部,
那这就意味着,根据引理(=>),目标圆一定满足性质1,和性质2 ;再结合第n+1个点在目标圆内部, 这三条结合起来看,我们得到
目标圆相对于前n个点来说,也满足性质1,和性质2 ;再一次利用引理 (<=)得出目标圆就是前n个点的最小外包圆;也就是目标圆就是圆1,
但是对于圆1来说第n+1个点在其外部,矛盾;
这就证明了命题2;

接下来我们可以执行数学归纳法了,
当第n+1个点位于圆1内部时,我们已经求得了目标圆;
当第n+1个点位于圆1外部时,第n+1一个点位于目标圆上,

此时我们又有2种方法

方案1:
根据命题2,目标圆必然满足以下性质 :前n个点到目标圆圆心的距离不会超过第n+1个点到圆心的距离(因为第n+1个点在圆周上)
根据这个性质,我们可以如下限制圆心的范围:
首先我们做出第n+1个点和前面任意一个点的连接线段的垂直平分线,该平分线把平面分为2个部分,其中一侧的点 离第n+1个点更近,另外一侧的点离另一点更近,
这样我们缩小了目标圆圆心的范围,依次对第n+1个点和前n个点的每一个点做出类似的直线,通过这些直线可以确定一块区域,目标圆的圆心只能位于该区域中;
这块区域的边界是一条折线(并且只能向一个方向弯曲),那么我们可以求出,该区域中离 第n+1个点最近的点 (它一定在边界上,证明略);也就是求一条折线上到一个固定点距离最短的点坐标,显然可以通过数学方法求出,
那么下面我断言,该点作为圆心,该点到第n+1个点的距离作为半径,构建的圆一定是前n+1个点的最小外包圆,这是因为:
首先半径最小的性质由计算过程可以看出来,又因为任何点到该点的距离不超过该点到第n+1个点的距离(半径r),它确实是一个外包圆,因此它就是目标圆;

方案2:
方案1中的方法虽然可行,但是需要执行复杂的计算,有无保持与前文推理一致的仅仅需要判定点是否在圆内部的方法?

当第n+1个点在当前圆外部时,由于它必然在目标圆上,
我们可以重新以这个点为起点开始归纳,把前n个点依次进行判定,
,当出现新点在圆外时,我们得到了2个在圆上的点,于是可以再以这2个点为起始开始归纳,
把前n+1个点中除了这2个点之外的点依次加入,一旦出现在外部情形,就确定最终圆了。

至此,得到了求解一堆点的最小外包圆的方法及证明

显然,以上方法也可以推广到任意n维欧式空间中任意点集 的 的最小体积 超球体的求解
特殊情形就是三维空间点集的最小外包球的求解。

你可能感兴趣的:(2019-09-30 最小外包圆的计算方法以及证明)