Skip to content

come/csg2d.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

csg2d.js

A 2D port from CSG 3D library

largely inspired by https://github.com/evanw/csg.js

Usage

var subjectPolygon = CSG.fromPolygons([[[10, 10], [100, 10], [50, 140]]]);
var clipPolygon = CSG.fromPolygons([[[10, 100], [50, 10], [100, 100]]]);
// note: this syntax is also accepted
// var clipPolygon = CSG.fromPolygons([[{x:10, y:100}, {x:50, y:10}, {x:100, y:100}]]);

var subtractPolygons = subjectPolygon.subtract(clipPolygon).toPolygons();
var unionPolygons = subjectPolygon.union(clipPolygon).toPolygons();
var intersectPolygons = subjectPolygon.intersect(clipPolygon).toPolygons();

/*
return [
  [ {x:x1, y:y1} , ... , {x:xN, y:yN} ], //polygon #1
  ...
  [ {x:x1, y:y1} , ... , {x:xN, y:yN} ], //polygon #K
]
*/

Example

http://come.github.io/csg2d.js/

screenshot

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •