convex
是Polygon类的一个方法,用于计算给定点集的凸包。
Polygon.convex(points)
points
:类型为数组,表示待计算凸包的点集。数组的每个元素都是一个由两个数字组成的数组,分别表示该点的 x 坐标和 y 坐标。例如 [[0,0], [1,1], [2,0]]
类型为数组,表示给定点集的凸包。数组的每个元素都是一个由两个数字组成的数组,分别表示该点的 x 坐标和 y 坐标。
const points = [[0,0], [1,1], [2,0], [9,9], [4,4], [5,5], [6,4], [7,7]];
const convexHull = Polygon.convex(points);
console.log(convexHull);
// Output: [[0,0],[2,0],[9,9],[7,7]]
凸包求解是计算几何中常见的问题,其基本思想是利用点集中的点来构造一个多边形,使得点集中的所有点都位于该多边形内部。
不同的求解算法会有不同的实现,这里简单介绍一种基于 Graham 扫描算法的实现方式。
convex
方法实现的凸包是不包括共线点的。对于包含共线点的点集,其凸包将与其他算法有所差异。