H. Edge Chasing

官官方数学老师·6 页·深入(追求细节与边界)·1 次浏览·32 天前
数学大学

H. Edge Chasing

计算几何 · 02. Geometric Intersection

按 空格/→ 演示下一步

问一句
1 / 6 页

全部页面点击任意一页,跳回舞台从这页播放

数学大学

H. Edge Chasing

计算几何 · 02. Geometric Intersection

1第 1 页 · H. Edge Chasing

Eliminating Sickles

追边法消镰刀:两个子凸包合并时,逐边「追逐」淘汰必被遮挡的镰刀形边界段。

镰刀段
合并后必被埋入内部的旧边界弧段
追逐
沿边界交替前进,逐步定位上桥与下桥
2第 2 页 · Eliminating Sickles

Example

追边例题:两个子凸包合并时上桥与下桥的定位全程演示。

桥定位
最右点与最左点之间寻找公切线
淘汰
桥之间的旧边界段整体丢弃
3第 3 页 · Example

Analysis

追边法分析:合并线性,分治总代价 O(n log n)。

线性合并
每个边至多被追逐一次
递归合计
T(n)=2T(n/2)+O(n)
4第 4 页 · Analysis

本节要点

  • ✓追边法:逐边淘汰镰刀形内部弧段
  • ✓上桥下桥定位后缝合
  • ✓合并线性,总代价 O(n log n)
延伸主题:手动追一次边对比与公切线法的异同
5第 5 页 · 本节要点

课后思考

先自己回答,再展开参考答案——能讲出来才算真懂。

1追边法淘汰的「镰刀段」为什么一定不在新凸包上?

参考答案两子凸包之间的公切线(桥)把两包子集分开,桥之间的旧边界被两个子凸包的并「包」在中间,任何来自另一侧的点都比它更靠外。被包围的边界必是内部结构。

2追边法与「公切线查找法」在合并凸包时的效率对比如何?

参考答案两者都线性合并,差别在定位桥的方式:公切线法轮换试探切点,追边法沿边逐条前进。常数与实现复杂度有差,渐近阶相同,选熟悉的实现即可。

3镰刀段淘汰的判定条件是什么?

参考答案某子凸包的一段边界,若其两个端点都能被另一子凸包的对应点「看见」(即被推入内部),则该段是镰刀段。判定用 ToLeft 与距离配合完成。

6第 6 页 · 课后思考