包含点集所有点的最小圆的算法

来源:互联网 发布:淘宝优惠券包括定金 编辑:程序博客网 时间:2024/05/21 11:16

                                                        包含点集所有点的最小圆的算法

    求一个最小圆包含给定点集合所有点的问题是在实践和理论上都十分感兴趣的一个问题。这个圆心可以看成是点集的中心。在图形学中,圆也常可取作边界盒,使用它可减少很多不必要的计算。在空间数据库中可将该问题用于建立空间数据的索引以提高查询速度。

1. 在点集中任取3点A,B,C。
2. 作一个包含A,B,C三点的最小圆, 圆周可能通过这3点,也可能只通过其中两点。   但包含第3点。 后一种情况圆周上的两点一定是位于圆的一条直径的两端。
3. 在点集中找出距离第2步所建圆圆心最远的D点,若D点已在圆内或圆周上,则该圆   即为所求的圆,算法结束。 否则,执行第4步。
4. 在A,B,C,D中选3个点,使由它们生成的一个包含这4个点的圆为最小,这3点成为新   的A,B,C,返回执行第2步。
   若在第4步生成的圆的圆周只通过A,B,C,D中的两点,则圆周上的两点取成新的A和B   ,从另两点中任取一点作为新的C。

 

                 汪卫,王文平 求一个包含点集所有点的最小圆的算法  软件学报 2000年 11卷 9期

原创粉丝点击