在 scipy 的 ConvexHull 中,"area" 测量什么?

In scipy's ConvexHull, what does "area" measure?

scipyConvexHull(参见http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html)对象中"area"属性的值好像不是(我理解的)凸包的面积。另一方面,"volume"的值似乎确实是凸包的面积。

from scipy.spatial import ConvexHull
import numpy

points = numpy.array([[-1,-1], [1,1], [-1, 1], [1,-1]])
hull = ConvexHull(points)

print("Volume is %2.2f" % hull.volume) # Prints 4.00
print("Area is %2.2f" % hull.area) # Prints 8.00

在上面的例子中,我期望4个点的凸包面积为4.0。这就是 "volume" 的意思。那么 "area" 给我们带来了什么?

体积和面积是 3d 概念,但您的数据是 2d - 一个 2x2 正方形。它的面积是 4,周长是 8(对应的 2d)。

scipy.spatial.ConvexHull 的文档如下:

area : float
Surface area of the convex hull when input dimension > 2. When input points are 2-dimensional, this is the perimeter of the convex hull.

volume: float
Volume of the convex hull when input dimension > 2. When input points are 2-dimensional, this is the area of the convex hull.

船体的

areavolume是表面积和体积。 2D 物体没有表面积或体积,但周长在概念上类似于 3D 表面积,忽略了深度的不足,物体所包含的区域类似于 3D 体积但忽略了深度。