archimedean-spiral-layout

0.0.1 • Public • Published

archimedean-spiral-layout

An algorithm that can be used to place items collision-free within a bounding box that contains obstacles.

🚀 Getting Started

Using npm:

npm install --save archimedean-spiral-layout

Using yarn:

yarn add archimedean-spiral-layout

✍️ Example

import shouldLayout from 'archimedean-spiral-layout';
 
const bounds = [ 0, 0, 1024, 768 ]; // x, y, (x + w), (y + h)
 
const obstacles = [
  [ 120, 402, 78 ], // x1, y1, r1
  [ 453, 329, 39 ], // x2, y2, r2
];
 
const objectsToPlace = [ 205, 404, 90 ]; // r1, r2, r3
 
shouldLayout(bounds, obstacles, objectsToPlace);  // [[701.9283498160538,335.5931622996223],[478.3142838715479,911.9263893090715],[40.82310481594527,645.7505175634124]]

✌️ License

MIT

Package Sidebar

Install

npm i archimedean-spiral-layout

Weekly Downloads

2

Version

0.0.1

License

MIT

Unpacked Size

4.03 kB

Total Files

5

Last publish

Collaborators

  • cawfree