d3-polygon

Operations for two-dimensional polygons.

ISC 20 个版本
安装
npm install d3-polygon
yarn add d3-polygon
pnpm add d3-polygon
bun add d3-polygon
README

d3-polygon

This module provides a few basic geometric operations for two-dimensional polygons. Each polygon is represented as an array of two-element arrays [​[x1, y1], [x2, y2], …], 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 ⟨0,0⟩ is in the top-left corner.

Installing

If you use npm, npm install d3-polygon. You can also download the latest release on GitHub. For vanilla HTML in modern browsers, import d3-polygon from Skypack:

<script type="module">

import {polygonHull} from "https://cdn.skypack.dev/d3-polygon@3";

const hull = polygonHull(points);

</script>

For legacy environments, you can load d3-polygon’s UMD bundle from an npm-based CDN such as jsDelivr; a d3 global is exported:

<script src="https://cdn.jsdelivr.net/npm/d3-polygon@3"></script>
<script>

const hull = d3.polygonHull(points);

</script>

API Reference

# d3.polygonArea(polygon) <>

Returns the signed area of the specified polygon. If the vertices of the polygon are in counterclockwise order (assuming a coordinate system where the origin ⟨0,0⟩ is in the top-left corner), the returned area is positive; otherwise it is negative, or zero.

# d3.polygonCentroid(polygon) <>

Returns the centroid of the specified polygon.

# d3.polygonHull(points) <>

Returns the convex hull of the specified points using Andrew’s monotone chain algorithm. The returned hull is represented as an array containing a subset of the input points arranged in counterclockwise order. Returns null if points has fewer than three elements.

# d3.polygonContains(polygon, point) <>

Returns true if and only if the specified point is inside the specified polygon.

# d3.polygonLength(polygon) <>

Returns the length of the perimeter of the specified polygon.

版本列表
3.0.1 2021-06-05
3.0.0 2021-06-04
2.0.0-rc.1 2020-07-27
2.0.0 2020-08-19
1.0.6 2019-11-16
1.0.5 2018-08-24
1.0.4 2018-08-24
1.0.3 2017-03-10
1.0.2 2016-11-23
1.0.1 2016-08-02
1.0.0 2016-06-14
0.3.0 2016-06-08
0.2.1 2016-01-29
0.2.0 2016-01-11
0.1.0 2015-12-18
0.0.5 2015-12-08
0.0.4 2015-12-08
0.0.3 2015-11-11
0.0.2 2015-11-04
0.0.1 2015-07-07