Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mikolalysenko/compare-slope

Checks if a pair of 2D vectors are oriented CW/CCW relatively
https://github.com/mikolalysenko/compare-slope

Last synced: about 2 months ago
JSON representation

Checks if a pair of 2D vectors are oriented CW/CCW relatively

Awesome Lists containing this project

README

        

compare-slope
=============
Ranks the slope of a pair of vectors through the origin in clockwise order. This is more robust than comparing their arc tangents using atan2.

Use
===
First install using npm:

npm install compare-slope

Then use as follows:

```javascript
var compareSlope = require("compare-slope")

console.log(compareSlope([0, 1], [1, 2]))
```

### `require("compare-slope")(a, b)`
Checks whether `a` comes before `b` in a counter-clockwise ordering.

* `a` and `b` are both represented by arrays of at least length 2

**Returns:**
* `> 0` if `b` is clockwise from `a`
* `< 0` if `a` is clockwise from `b`
* `0` if `a` and `b` are collinear

**Note:** Somewhat arbitrarily, the degenerate point at the origin is ranked before all other points.

Credits
=======
(c) 2013 Mikola Lysenko. MIT License