d3-polygon
    Overview
    Documentation
    Tutorials
    Insights
    Code
    Dependencies
    Contributors
    Jobs

d3-polygon

Operations for two-dimensional polygons.

1.0.5  •  Updated 2 years ago  •  by d3  •  BSD 3-Clause "New" or "Revised" License

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. Otherwise, download the latest release. You can also load directly from d3js.org, either as a standalone library or as part of D3 4.0. AMD, CommonJS, and vanilla environments are supported. In vanilla, a d3 global is exported:

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

var hull = d3.polygonHull(points);

</script>

Try d3-polygon in your browser.

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.

Popularity

Weekly Downloads
548.1K
Stars
56

Maintenance

Development

Last ver 2 years ago
Created 5 years ago
Last commit 4 months ago
1 month between commits

Technology

Node version: 10.8.0
48.6K unpacked

Compliance

BSD 3-Clause "New" or "Revised" License
OSI Approved
0 vulnerabilities

Contributors

5 contributors
Mike Bostock
Maintainer, 51 commits, 4 merges
Works at observablehq
AboorvaDevarajan
1 commits, 1 PRs
Works at IBM
David Bumbeishvili
1 commits, 1 PRs
Christophe Coevoet
1 commits, 1 PRs
Works at Incenteev
dependabot[bot]
1 commits
Connor Gramazio
Maintainer

Tags

d3
d3-module
polygon
hull
geometry
graphics
Openbase helps developers choose among and use millions of open-source packages, so they can build amazing products faster.
FacebookTwitterLinkedIn
© 2020 Devstore, Inc.