Skip to content

d3-polygon

此模块提供了一些用于二维多边形的基本几何操作。每个多边形表示为由两个元素数组组成的数组 [[x0, y0], [x1, y1], …],并且可以是闭合的(即首点和末点相同)或开放的(即首点和末点不同)。通常多边形按逆时针顺序排列,假设坐标系的原点在左上角。

🌐 This module provides a few basic geometric operations for two-dimensional polygons. Each polygon is represented as an array of two-element arrays [​[x0, y0], [x1, y1], …], and may either be closed (wherein the first and last point are the same) or open (wherein they are not). Typically polygons are in counterclockwise order, assuming a coordinate system where the origin is in the top-left corner.

多边形面积(polygon)

🌐 polygonArea(polygon)

js
d3.polygonArea([[1, 1], [1.5, 0], [2, 1]]) // -0.5

来源 · 返回指定多边形的带符号面积。如果多边形的顶点按逆时针顺序排列(假设坐标系的原点在左上角),返回的面积为正;否则为负或零。

多边形质心(polygon)

🌐 polygonCentroid(polygon)

js
d3.polygonCentroid([[1, 1], [1.5, 0], [2, 1]]) // [1.5, 0.6666666666666666]

来源 · 返回指定多边形重心

polygonHull(points)

js
d3.polygonHull(points) // [[3.0872864263338777, -1.300100095019402], [1.6559368816733773, -2.5092525689499605], …]

来源 · 使用 Andrew 的单调链算法 返回指定 凸包。返回的凸包表示为一个数组,包含按逆时针顺序排列的输入 的子集。如果 少于三个元素,则返回 null。

polygonContains(多边形, )

🌐 polygonContains(polygon, point)

js
d3.polygonContains([[1, 1], [1.5, 0], [2, 1]], [1.5, 0.667]) // true

来源 · 当且仅当指定的位于指定的多边形内时返回真。

多边形长度(polygon)

🌐 polygonLength(polygon)

js
d3.polygonLength([[1, 1], [1.5, 0], [2, 1]]) // 3.23606797749979

来源 · 返回指定多边形的周长长度。