d3-polygon
Этот модуль предоставляет несколько основных геометрических операций для двумерных многоугольников. Каждый многоугольник представляется как массив массивов из двух элементов [[x1, y1], [x2, y2], …], и может быть замкнутым (где первая и последняя точки совпадают) или открытым (где они не совпадают). Обычно многоугольники упорядочены против часовой стрелки, предполагая систему координат, где начало координат ⟨0,0⟩ находится в левом верхнем углу.
Установка
Если вы используете NPM, npm install d3-polygon. В противном случае, скачайте последнюю версию. Вы также можете загрузить напрямую с d3js.org, как отдельную библиотеку или как часть D3. Поддерживаются среды AMD, CommonJS и vanilla. В vanilla среде экспортируется глобальная переменная d3:
<script src="https://d3js.org/d3-polygon.v2.min.js"></script> <script> var hull = d3.polygonHull(points); </script>
Справочник по API
d3.polygonArea(polygon) <>
Возвращает подписанную площадь указанного многоугольника. Если вершины многоугольника упорядочены против часовой стрелки (предполагая систему координат, где начало координат ⟨0,0⟩ находится в левом верхнем углу), возвращаемая площадь положительна; в противном случае она отрицательна или равна нулю.
d3.polygonCentroid(polygon) <>
Возвращает центр масс указанного многоугольника.
d3.polygonHull(points) <>
Возвращает выпуклую оболочку указанных точек, используя алгоритм монотонной цепи Эндрю . Возвращаемая оболочка представлена как массив, содержащий подмножество входных точек, расположенных против часовой стрелки. Возвращает null, если points содержит меньше трех элементов.
d3.polygonContains(polygon, point) <>
Возвращает true тогда и только тогда, когда указанная точка находится внутри указанного многоугольника.
d3.polygonLength(polygon) <>
Возвращает длину периметра указанного многоугольника.
© 2010–2020 Michael Bostock
Licensed under the BSD License.
https://github.com/d3/d3-polygon