当前课程知识点:计算几何 > 04. Voronoi Diagram > M. Plane-Sweep > 04-M-13. Site Event: How
那么在这样一个
site event的位置上
我们究竟应该如何来加以处置呢
具体来说
我们应该做哪几项工作呢
我们说大体而言
分为这样五步
其中核心的就是如
我们此前所约定的那样
每当碰到这样一个新的site
我们都要在beach line上
为它创建一段对应的弧
所以正因为如此
我们首先要做的就是一步查找
我们要通过这次查找来确定一下
沿着beach line
相对针对我们现在发现的
这个新的site
在它的正上方
所对应的那段弧是谁
如果我们能找到它
接下来我们要做的事情
就是把这段弧
沿着这样一个位置
做一次切分 做一个split
使之一左一右分为两部分
这样的话
在它的中间在刚才的那个瞬间
就会有一个无限小的缝隙
没错 无限小的缝隙
这个无限小的缝隙处
就是我们新生成的这段弧
最初的样子
它是无限小的从宽度来讲
而从高度来讲
我们说其实它对应的
就是这样一条起始于这个S
垂直向上的一段有向线段而已
好了 这段弧是无限小的
但是随着时间的推移
比如说再接下来0.001秒
以至于时间再长一些
这段无限小宽度的弧
就会逐渐的展开
所以在它展开的过程中
它与它的左和右的两个邻居的结合点
这两个点其实就会勾勒出同一条边
这也是我们刚才所讲的
所以看得出来
这条边的无论是左端点还是右端点
现在而言都不是固定的
所以我们也称这条边
是一条悬垂在空中的一条悬垂边
似乎不定的
好 在接下来我们要做的事情
最后的两步实质的作用
是来处理我们此前
包括此后所对应的一些circle event
难道不是吗
你应该还记得
我们的circle event
每一个都对应于在beach line上
彼此相邻的连续的三段弧
我们称作为是一个triple
一个三元组
这种三元组刚才讲到了
必须是连续的
而我们现在这个时候呢
因为引入了对应于s的
这样一段新的弧
所以呢原有的一些triple
就会被破坏掉
新的呢也会引入一些更多的triple
准确地来讲
其实也就是p和q
原先参与构成的那一些triple
它们所对应的那些circle event
现在要失效了
正因为如此
我们要在第四步
将这类的circle event
从event q中剔除掉
反过来
这个新引入的site s
在接下来的一段时间内
也会参与构成一些triple
因此对应的这类新的三元组
所对应的circle event
也需要在这个时刻被创建出来
然后同时插入到event q中去
也为将来对它们进行处理埋下伏笔
这里作为一个例子我们可以看到
比如就是q p和s
所对应的这个circle event c
我们刚才讲过
如果不出意料
如果中间没有发生别的变故
这样的一个circle event
确实会被顺利的抵达
也就是说它在将来的某个时刻
如果能够保存下来
并且从event q中
作为最大的元素被取出来
那么就会在这里
发生我们刚才说的那个故事
我们这里再重复一下
也就是原来这样一条
沿着这个方向生长的边
和刚才我们所说的这样一条
两头悬垂的边
就会在这个位置上汇聚起来
并沿着q和s之间的垂直平分线
继续的生长下去
整个的过程大致就是这样的
好 在对circle event和site event
做了以上的详细的分析之后
我们现在再回过头来理解
此前所介绍的一个结论
就会觉得非常的自然了
什么结论呢
也就是关于beach line
它自己的规模的一个结论
你应该记得
我们此前说过beach line虽然说是
由一段一段的弧构成的
但是这些弧的总数是有限的
具体而言
绝对不会超过两倍的n-1个段
那么beach line的规模
为什么会有这样的一个上界呢
其实从刚才我们的处理过程非常好理解
我们刚才讲过
beach line的规模凡是要增加
只有一种可能
就是在它遇到一个circle event的时候
做一次split
这种split每做一次的效果
我们说总体来说
就是来增加两段弧
其中一段弧是创建的
垂直向上 开口无限小的那样一段弧
另外一段弧呢
我们说只不过是一个数字
因为原有的
就在这段新生成的这个弧之上的
正对着的那段弧被一分为二了
所以由1变成2
从这个意义上讲
我们就会多出一个
1再加上1所以得出2
好 这是一般的情况
当然这里有一个特殊的例子
也就是我们所说的第一条弧
除此之外
都是每一次增加两段弧
所以我们说
如果你不考虑有弧消失的情况的话
整个beach line上所构成的那些弧
累计而言绝对绝对不可能超过2n-1
-Before we start
--html
-Evaluation
--html
-Online Judge
--html
-Lecture notes
--html
-Discussion
--html
-A. History of This Course
--00-A. History of This Course
-B. What's Computational Geometry
--00-B. What's Computational Geometry
-B. What's Computational Geometry--作业
-C. How to Learn CG Better
--00-C. How to Learn CG Better
-C. How to Learn CG Better--作业
-D. Why English
-A. Convexity
-A. Convexity--作业
-B. Extreme Points
-B. Extreme Points--作业
-C. Extreme Edges
-C. Extreme Edges--作业
-D. Incremental Construction
--01-D-01. Decrease and Conquer
--01-D-02. In-Convex-Polygon Test
--01-D-03. Why Not Binary Search
-D. Incremental Construction--作业
-E. Jarvis March
--01-E-06. Lowest-Then-Leftmost
-E. Jarvis March--作业
-F. Lower Bound
--01-F-02. CAO Chong's Methodology
-F. Lower Bound--作业
-G. Graham Scan: Algorithm
-G. Graham Scan: Algorithm--作业
-H. Graham Scan: Example
-H. Graham Scan: Example--作业
-I. Graham Scan: Correctness
-I. Graham Scan: Correctness--作业
-J. Graham Scan: Analysis
-J. Graham Scan: Analysis--作业
-K. Divide-And-Conquer (1)
-K. Divide-And-Conquer (1)--作业
-L. Divide-And-Conquer (2)
--01-L-03. Topmost + Bottommost ?
--01-L-07. More Considerations
-L. Divide-And-Conquer (2)--作业
-M. Wrap-Up
-0. Introduction
-0. Introduction--作业
-A. Preliminary
-A. Preliminary--作业
-B. Interval Intersection Detection
-B. Interval Intersection Detection--作业
-C. Segment Intersection Reporting
-C. Segment Intersection Reporting--作业
-D. BO Algorithm: Strategy
--02-D-01. Proximity & Separability
--02-D-02. Comparability & Ordering
-D. BO Algorithm: Strategy--作业
-E. BO Algorithm: Implementation
--02-E-03. Events & Operations
-E. BO Algorithm: Implementation--作业
-F. BO Algorithm: Analysis
--02-F-04. Complexity of Event Queue
--02-F-05. Complexity of Status Structure
-F. BO Algorithm: Analysis--作业
-G. Convex Polygon Intersection Detection
--02-G-01. Problem Specification
--02-G-02. Monotone Partitioning
--02-G-04. Decrease-And-Conquer
-G. Convex Polygon Intersection Detection--作业
-H. Edge Chasing
--02-H-01. Eliminating Sickles
-H. Edge Chasing--作业
-I. Plane Sweeping
-I. Plane Sweeping--作业
-J. Halfplane Intersection Construction
-J. Halfplane Intersection Construction--作业
-0. Methodology
-0. Methodology--作业
-A. Art Gallery Problem
--03-A-02. Lower & Upper Bounds
--03-A-04. Approximation & Classification
-A. Art Gallery Problem--作业
-B. Art Gallery Theorem
--03-B-01. Necessity of floor(n/3)
--03-B-02. Sufficiency by Fan Decomposition
-B. Art Gallery Theorem--作业
-C. Fisk's Proof
--03-C-04. Pigeon-Hole Principle
-C. Fisk's Proof--作业
-D. Orthogonal Polygons
--03-D-01. Necessity of floor(n/4)
--03-D-02. Sufficiency by Convex Quadrilateralization
-D. Orthogonal Polygons--作业
-E. Triangulation
-E. Triangulation--作业
-F. Triangulating Monotone Polygons
--03-F-02. Monotonicity Testing
--03-F-04. Stack-Chain Consistency
-F. Triangulating Monotone Polygons--作业
-G. Monotone Decomposition
-G. Monotone Decomposition--作业
-I. Tetrahedralization
--03-I-01. Polyhedron Decomposition
--03-I-02. Schonhardt's Polyhedron
-I. Tetrahedralization--作业
-A. Introduction
--04-A-02. Dining Halls on Campus
--04-A-03. More Analogies & Applications
-A. Introduction--作业
-B. Terminologies
--04-B-02. Intersecting Halfspaces
--04-B-04. Planar Voronoi Diagram
-B. Terminologies--作业
-C. Properties
--04-C-03. Nearest = Concyclic
--04-C-04. Number of Nearest Sites = Degree
-C. Properties--作业
-D. Complexity
-D. Complexity--作业
-E. Representation
-E. Representation--作业
-F. DCEL
-F. DCEL--作业
-G. Hardness
--04-G-03. Voronoi Diagram In General Position
-G. Hardness--作业
-H. Sorted Sets
--04-H-01. Convex Hull Made Easier
--04-H-02. Convex Hull As A Combinatorial Structure
--04-H-03. Voronoi Diagram As A Geometric Structure
-H. Sorted Sets--作业
-I. VD_sorted
--04-I-06. Sorting Not Made Easier
-I. VD_sorted--作业
-J. Naive Construction
-J. Naive Construction--作业
-K. Incremental Construction
-K. Incremental Construction--作业
-L. Divide-And-Conquer
--04-L-09. Intersecting with Cells
-L. Divide-And-Conquer--作业
-M. Plane-Sweep
--04-M-09. Circle Event: What, When & Where
-M. Plane-Sweep--作业
-A. Point Set Triangulation
-A. Point Set Triangulation--作业
-B. Delaunay Triangulation
-B. Delaunay Triangulation--作业
-C. Properties
-C. Properties--作业
-D. Proximity Graph
--05-D-02. Relative Neighborhood Graph
-D. Proximity Graph--作业
-E. Euclidean Minimum Spanning Tree
-E. Euclidean Minimum Spanning Tree--作业
-F. Euclidean Traveling Salesman Problem
-G. Minimum Weighted Triangulation
-G. Minimum Weighted Triangulation--作业
-H. Construction
--05-H-03. Maximizing The Minimum Angle
--05-H-04. Evolution By Edge Flipping
-H. Construction--作业
-I. RIC With Example
-I. RIC With Example--作业
-J. Randomized Incremental Construction
--05-J-01. Recursive Implementation
--05-J-02. Iterative Implementation
-J. Randomized Incremental Construction--作业
-K. RIC Analysis
--05-K-04. Types Of Edge Change
--05-K-05. Number Of Edge Changes
--05-K-07. Number Of Rebucketings
--05-K-08. Probability For Rebucketing
--05-K-10. Further Consideration
-0. Online/Offline Algorithms
--06-0. Online/Offline Algorithms
-0. Online/Offline Algorithms--作业
-A. Introduction
--06-A-03. Assumptions For Clarity
--06-A-05. Performance Measurements
-A. Introduction--作业
-B. Slab Method
--06-B-02. Ordering Trapezoids
-B. Slab Method--作业
-C. Persistence
--06-C-01. Ephemeral Structure
--06-C-02. Persistent Structure
-C. Persistence--作业
-D. Path Copying
--06-D-03. Storage Optimization
-D. Path Copying--作业
-E. Node Copying
-E. Node Copying--作业
-F. Limited Node Copying
-G. Kirkpatrick Structure
--06-G-01. Optimal And Simpler
--06-G-06. The More The Better
--06-G-07. The Fewer The Better
--06-G-09. Existence Of Independent Subset
--06-G-10. Construction Of Independent Subset
-G. Kirkpatrick Structure--作业
-H. Trapezoidal Map
--06-H-03. Properties & Complexity
--06-H-04. Search Structure: Example
--06-H-05. Search Structure: Nodes
--06-H-06. Search Structure: Performance
-H. Trapezoidal Map--作业
-I. Constructing Trapezoidal Map
--06-I-04. Case 1: Two Endpoints
--06-I-05. Case 2: One Endpoint
--06-I-06. Case 3: No Endpoints
-J. Performance Of Trapezoidal Map
--06-J-03. Number Of Ray Trimmed
--06-J-04. Number Of Trapezoidals Created (1)
--06-J-05. Number Of Trapezoidals Created (2)
--06-J-06. Time For Point Location
--06-J-07. Size Of Search Structure
--06-J-08. Fixed Query Point + Randomly Created Maps
--06-J-10. Probability Of Enclosing Trapezoid Changed
-A. Range Query
--07-A-01. 1-Dimensional Range Query
-A. Range Query--作业
-B. BBST
--07-B-02. Lowest Common Ancestor
-B. BBST--作业
-C. kd-Tree: Structure
-C. kd-Tree: Structure--作业
-D. kd-Tree: Algorithm
-D. kd-Tree: Algorithm--作业
-E. kd-Tree: Performance
--07-E-01. Preprocessing Time + Storage
-E. kd-Tree: Performance--作业
-F. Range Tree: Structure
--07-F-03. x-Query * y-Queries
-F. Range Tree: Structure--作业
-G. Range Tree: Query
-G. Range Tree: Query--作业
-H. Range Tree: Performance
-H. Range Tree: Performance--作业
-I. Range Tree: Optimization
--07-I-04. Fractional Cascading
-A. Orthogonal Windowing Query
-A. Orthogonal Windowing Query--作业
-B. Stabbing Query
-C. Interval Tree: Construction
-C. Interval Tree: Construction--作业
-D. Interval Tree: Query
-D. Interval Tree: Query--作业
-E. Stabbing With A Segment
--08-E-03. Query Algorithm (1)
--08-E-04. Query Algorithm (2)
-F. Grounded Range Query
--08-F-03. 1D-GRQ Using Range Tree
--08-F-04. 1D-GRQ By Linear Scan
-G. 1D-GRQ Using Heap
-G. 1D-GRQ Using Heap--作业
-H. Priority Search Tree
--08-H-03. Sibling Partitioning
-H. Priority Search Tree--作业
-I. 2D-GRQ Using PST
-I. 2D-GRQ Using PST--作业
-J. Segment Tree
--08-J-01. General Windowing Query
--08-J-02. Elementary Interval
--08-J-06. Solving Stabbing Query
--08-J-11. Constructing A Segment Tree
--08-J-12. Inserting A Segment (1)
--08-J-13. Inserting A Segment (2)
--08-J-14. Inserting A Segment (3)
-K. Vertical Segment Stabbing Query