1. 概念
凸包(Convex Hull)是一个计算几何(图形学)中的概念。
在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。
X的凸包可以用X内所有点
(
X
1
,
X
2
,
.
.
.
,
X
n
)
(X_1,X_2,...,X_n)
(X1,X2,...,Xn)的线性组合来构造。
在二维欧几里得空间中,凸包可想象成为一条刚好包裹所有点的多边形。
具体来说就是我们需要使用集合中最外圈围成一个多边形,这个多边形正好将所有的点集包含在内,此时,我们就叫这个多边形叫凸包。
2. 求解算法
由于本人并不需要探究其中具体原理,我这里就只给出一个相关函数求解凸包的面积。
from scipy.spatial import ConvexHull
kps = np.array([[1.5, 2], [1.5, 10], [12.5, 2], [12.5, 10], [10, 5], [11, 6], [3, 4], [4, 3]])
area = ConvexHull(kps).volume
print(area)
88.0