Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
@lucio/graham-scan
Advanced tools
A JavaScript implementation of the Graham scan algorithm for finding the convex hull of a set of points.
A JavaScript implementation of the Graham scan algorithm for finding the convex hull of a set of points.
npm i @lucio/graham-scan
const grahamScan = new GrahamScan();
grahamScan.setPoints([[1,0], [0,1], [2,1], [1,0.5]]);
const hull = grahamScan.getHull(); // [1,0], [2,1], [0,1]
new GrahamScan()
Creates a new instance of the algorithm, meant to be reusable.
const grahamScan = new GrahamScan();
grahamScan.addPoint(point)
Adds a point to the set. The point must be an array of two numbers: the x and y coordinates.
const grahamScan = new GrahamScan();
grahamScan.addPoint([10, 20]);
grahamScan.clear()
Clear the underlying array of points.
const grahamScan = new GrahamScan();
grahamScan.addPoint([10, 20]);
grahamScan.clear();
grahamScan.getHull()
Computes the convex hull. Returns a new array containing all the hull vertices, starting from the one with the lowest y value (in case there are multiple ones, it will be the one with the lowest x as well) and going in counter-clockwise direction.
const grahamScan = new GrahamScan();
grahamScan.setPoints([[1,0], [0,1], [2,1], [1,0.5]]);
const hull = grahamScan.getHull(); // [1,0], [2,1], [0,1]
grahamScan.getPoints()
Returns a reference to the underlying array containing all the points.
const grahamScan = new GrahamScan();
grahamScan.addPoint([10, 20]);
grahamScan.addPoint([30, 40]);
grahamScan.getPoints(); // [10, 20], [30, 40]
grahamScan.setPoints(points)
Replace the underlying array with the given one.
const grahamScan = new GrahamScan();
grahamScan.setPoints([[10, 20], [30, 40]]);
git clone git@github.com:luciopaiva/graham-scan.git
cd graham-scan
nvm install
npm install
npm test
FAQs
A JavaScript implementation of the Graham scan algorithm for finding the convex hull of a set of points.
The npm package @lucio/graham-scan receives a total of 17 weekly downloads. As such, @lucio/graham-scan popularity was classified as not popular.
We found that @lucio/graham-scan demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.