2022年ACM计算几何最小圆覆盖算法.docx
《2022年ACM计算几何最小圆覆盖算法.docx》由会员分享,可在线阅读,更多相关《2022年ACM计算几何最小圆覆盖算法.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源平面上有 n 个点,给定 n 个点的坐标,试找一个半径最小的圆,将n 个点全部包围,点可以在圆上;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 步;如在第
2、4 步生成的圆的圆周只通过 A,B,C,D中的两点,就圆周上的两点取成新的 A 和 B,从另两点中任取一点作为新的 C;程序设计题解上的解题报告:对于一个给定的点集 A,记 MinCircleA 为点集 A 的最小外接圆, 明显,对于全部的点集情形A,MinCircleA 都是存在且惟一的;需要特别说明的是,当 A 为空集时, MinCircleA 为空集,当 A=a 时, MinCircleA 圆心坐标为 a,半径为 0; 明显, MinCircleA 可以有A 边界上最多三个点确定 当点集 A 中点的个数大于 1 时,有可能两个点确定了 MinCircleA ,也就是说存在着一个点集 B,
3、 |B|=3且B 包含与 A,有 MinCircleB=MinCircleA.所以,假如 a 不属于 B, 就 MinCircleA-a=MinCircleA; 如 果 MinCircleA-a不等 于欢迎下载精品学习资源MinCircleA, 就 a 属于 B; 所以我们可以从一个空集 R 开头,不断的把题目中给定的点集中的点加入 R,同时爱护 R 的外接圆最小, 这样就可以得到解决该题的算法;不断添加圆,爱护最小圆;假如添加的点 i 在圆内,不动,否就:问题转化为求 1I 的最小圆:求出 1 与 I 的最小圆,并且扫描 j=2I-1,爱护( 1)+(i )+2j 的最小圆,假如找到 J 不
4、在最小圆内,问题转化为:求1J+i的最小圆;求出 I 与 J 的最小圆,连续扫描K=1j-1, 找到第一个不在最小圆内的,求出 I J K三者交点即可,此时找到了 1j+i的最小圆, 可以回到上一步(三点定一圆,所以1J-1 确定都在求出的最小圆上);实际上利用了这么个定理:如 I 不在 1I-1 的最小圆上,就 I 在 1I 的最小圆上;如 J 不在i+1j-1的最小圆上,就 j 在i+1J的最小圆上; 证明可以考虑这么做:最小圆必定是可以通过不断放大半径,直到全部以任意点为圆心,半径为半径的圆存在交点,此时的半径就是最小圆;所以上述定理可以通过这个思想得到;这个做法复杂度是 On 的,当加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 ACM 计算 几何 小圆 覆盖 算法
限制150内