# dots-connector

> Delaunay Triangulation library

Latest version **0.0.5** (published 2020-12-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install dots-connector
pnpm add dots-connector
yarn add dots-connector
bun add dots-connector
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.5 |
| Published | 2020-12-04 |
| First published | 2020-12-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 40.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Son Tung Nguyen |
| Maintainers | stminogames |
| Keywords | Delaunay, Triangulation |

## Links

- npm: https://www.npmjs.com/package/dots-connector
- Repository: https://github.com/stnguyen/dots-connector
- Homepage: https://github.com/stnguyen/dots-connector#readme
- Issues: https://github.com/stnguyen/dots-connector/issues
- npm.io page: https://npm.io/package/dots-connector

## Dependencies (1)

- [build](https://npm.io/package/build.md) ^0.1.4

## Recent versions

- 0.0.5 (latest) — 2020-12-04
- 0.0.3 — 2020-12-02
- 0.0.2 — 2020-12-02
- 0.0.1 — 2020-12-02

## README

Dots Connector
===

A 2D [Delaunay Triangulation](https://en.wikipedia.org/wiki/Delaunay_triangulation) TypeScript library.
It works in modern browser and NodeJS environments.

- [Interactive Demo](https://stnguyen.github.io/dots-connector/)
- This library is an implementation of [A simple sweep-line Delaunay triangulation algorithm, 2013, Liu Yonghe, Feng Jinming and Shao Yuehong](http://www.academicpub.org/jao/paperInfo.aspx?paperid=15630) paper.

This library is still a **work in progress**. If you need a fast, feature-rich library, use [delaunator](https://github.com/mapbox/delaunator) instead.

## Example

```js
const originalPoints = [[0,0],[1,-2],[2,-0.5],...];

const { points, triangles } = triangulate(originalPoints);
console.log(delaunay.triangles);
// [0,1,2,...]
```

It returns an array of points because the algorithm requires adding small random noise to the original points, and also sort the points horizontally from left to right.

## Install

Install with NPM (`npm install dots-connector`) then:

```js
// import as an ES module
import triangulate from 'dots-connector'

// or require in Node / Browserify
const triangulate = require('dots-connector');
```

Or use a browser build directly:

```html
<script src="https://unpkg.com/dots-connector/umd/dots-connector.min.js"></script> <!-- minified build -->
<script src="https://unpkg.com/dots-connector/umd/dots-connector.js"></script> <!-- dev build -->
```

## Bench

Results of running [delaunator](https://github.com/mapbox/delaunator/blob/master/bench.js) bench script on Macbook Pro 16" 2019, Node v10.18.1

|| uniform 100k | gauss 100k | grid 100k | degen 100k | uniform 1million | gauss 1million | grid 1million | degen 1million
:-- | --: | --: | --: | --: | --: | --: | --: | --:
dots-connector | 384ms | 427ms | 1010ms | failed | 5553ms | 5540ms | 11558ms | failed
[delaunator](https://github.com/mapbox/delaunator) | 73ms | 61ms | 86ms | 31ms | 1046ms | 1118ms | 945ms | 428ms

---
_Source: https://npm.io/package/dots-connector · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
