当前课程知识点:计算几何 > 01. Convex Hull > A. Convexity > 01-A-05. Convex Hull
好
我们虽然不是很喜欢数学
但是不得不还要
用一些简单的数学
把刚才我们所看到的
那个结论严格地表述出来
也就是说我们如果给定的
是平面二维空间中的
一系列的点的话
那么这些点所对应的颜料
能构造出哪些新的颜料出来呢
那么我们就会发现
其实每一种新的颜料
从几何来讲,如果是个点的话
其实就对应于原来那些颜料的
某一个调和的方案
这个λ是个矢量
它是一个调和的方案
它也是由n个分量构成的
每一个分量
给出了对应的各种颜色
各种颜料参与勾兑的权重
那么在这里有一些勾兑方案
我们专门地称之为凸的勾兑方案
或者叫做凸组合convex combination
那么具体讲
如果是一个convex combination
需要有哪些条件
我们说大致有两个主要的条件
第一个条件也就是所有的
这些分量的总和必须是百分之百
这个很好理解
第二个条件是所有的这些分量
都必须是非负的
好
如果你不是很关心
接下来的具体的数学上的细节
你跳过下面的部分
直接进入到我们的再下一节
也就是计算凸包的算法
如果你对数学感兴趣
那么我们可以来通过下面这组图
继续地来讨论一下
来理解一下刚才的这个定义
好
按照刚才我们的定义
最简单的情况,n比如说是两个点
那么刚才我们已经看到了
由这两个点所对应的颜料
所能勾兑出来的颜色
都是落在它们之间的那条线段上面
这就是所谓的convex combination
如果你学过高等数学
你大概会回忆起来另一个概念
叫做affine combination——仿射组合
和凸组合有什么区别呢
从效果上看你应该记得
affine combination所组合出来的东西
应该是这两个点所确定的
那样的一条唯一的直线
当然也包括这个线段
而在这里为什么convex combination
只是它的一个子集
只是这条线段呢
根本原因就在于
这里我们要求
所有的组合系数是非负的
我们刚才讲过这其中的每一个系数
都对应于某一种颜料
参与于这个勾兑的比重
这个比重充其量是零
也就是它根本就不用
而绝对不会是负的
当然,除非你可能在某一天
能在物理上造出这么样一种机器
从某一种颜料中就像做减法一样
能够抽取出某一种颜色
那就另当别论了
如果只是我们现在的
这种日常生活的经验的话
确实如此
我们不得不去采用非负的权重
所以,这样勾兑出来的颜色
只能是位于它们之间的线段上
好
刚才我们也讲了有第三种颜色
但是有可能第三种颜色会像这样
它本身就落在这条线段上
这个叫什么呢
在数学上,我们称之为凸相关
也就是说对于凸组合来说
新增加的这个颜料是于事无补的
不会有什么新的作用
从这里也可以看得出来
因为它自己本身就是
由原来的两个颜料勾兑出来的
它不会有什么新的贡献
好
这个情况可能还会有很多
比如说有三、有四、甚至很多
所以我们的厂家
在生产颜料的时候
肯定它是知道这件事的
它要去回避到这种情况
也就是说不要有一些颜料
是本身就能勾兑出来的
那样的生产是徒劳的
多余的
好
刚才我们说的三种颜色的情况
如果这三个点不是共线的话
那么就会变成这样
也就是说第三种新的颜色
确实是有贡献的
从数学上来讲
我们说它们不是凸相关的
而是凸无关的
所以它们确实能够有效的帮助
我们勾兑出来
很多很多种丰富的颜料的颜色
而从数学上讲也可以看出来
所能勾兑出来的颜色
也不会有太大的范围
无非就在它们所区的
那个三角形的内部
当然这个时候也有退化的情况
比如说我们如果试图引入第四点的话
可能是这样
那么它还是一个三角形
当然如果第四种颜色
不是由原来的三种颜色
能够勾兑出来的
那么它确实会带来
再进一步更加丰富的颜色
当然我们也可以看得出来
虽然颜色更多了
但它无外乎还是
属于这个颜色空间之内
而这时所对应的这样的一个
颜色的一个范围
正是我们刚才所说的
由这四个点所确定的那个凸包
就像在最开始
我们那个例子中看到的那样
这是一系列的钉子
而凸包就是那个皮筋
所围出的那样一个范围
好了
我们已经在数学上
对凸包讲得够多的了
我相信你已经多少有些不耐烦了
那么我们接下来
就来讨论实质的问题
也就是,如何来构造一个具体的凸包
-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