d3-polygon

这个模块提供了一些二维多边形的基本几何运算。每个多边形都被表示为一个二维数组[​[x1, y1], [x2, y2], …],该数组可以是封闭的(既第一个点和最后一个点是相同的),也可以是开放的(既第一个点和最后一个点不同)。通常多边形是逆时针顺序,假设坐标系原点⟨0,0⟩位于左上角。

Installing

如果你使用npm,请键入npm install d3-polygon。否则,请下载最新版本。你也可以直接从d3js.org加载,作为standalone library(独立库)或D3 4.0的一部分来使用。支持AMD,CommonJS和vanilla环境。在vanilla环境下,会输出一个全局的d3

<script src="https://d3js.org/d3-polygon.v1.min.js"></script>
<script>

var hull = d3.polygonHull(points);

</script>

API Reference

d3.polygonArea(polygon)

返回给定polygon的signed area(有号区域)。如果polygon的顶点是逆时针顺序(假设坐标系原点⟨0,0⟩位于左上角),则返回的区域为正,否则为负或0。

d3.polygonCentroid(polygon)

返回给定polygon中心

d3.polygonHull(points)

使用Andrew’s monotone chain algorithm返回给定pointsconvex hull(凸包)。返回的hull为一个数组,包含以逆时针顺序排列的points的子集。如果points少于三个元素,则返回null。

d3.polygonContains(polygon, point)

当且仅当给定point在给定polygon时才返回true。

d3.polygonLength(polygon)

返回给定polygon的周长。

results matching ""

    No results matching ""