dcel.js is lightweight JavaScript implementation of Doubly connected edge list, inspired by dcel(python).
- get internal face's holes.
- edges modify.
<script src="dcel.js"></script>
// points [[x1, y1], [x2, y2], ...]
// edges [[start1, end1], [start2, end2]...] starts and ends are indices of points
var dcel = new dcel(points, edges);
// return internal faces
var faces = dcel.internalFaces();
// get holes
faces[0].holes
// get area
faces[0].area
// get area except holes
faces[0].areaExceptHoles
// return external faces
dcel.externalFaces();
// edges modify
dcel.addEdge(x1, y1, x2, y2);
dcel.removeEdge(x1, y1, x2, y2);
dcel.splitEdge(x1, y1, x2, y2, splitX, splitY);
Blog: Half Lab
Email: [email protected]
Weibo: @谢帅shawn