Published
Edited
Sep 25, 2018
1 fork
1 star
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
input_data = {
let {Polygon, segment, arc, point} = Flatten;
let {unify, intersect, subtract} = BooleanOp;
let myPoly = new Polygon();
myPoly.addFace([point(50, 50), point(50,950), point(950, 950), point(950, 50)]);
let myCircle = new Polygon();
myCircle.addFace([arc(point(0,1000),980, 0, 2*Math.PI)]);
myPoly = intersect(myPoly,myCircle);
myCircle = new Polygon();
myCircle.addFace([arc(point(0,1000),780, 0, 2*Math.PI)]);
myPoly = subtract(myPoly,myCircle);

myCircle = new Polygon();
myCircle.addFace([arc(point(1000,1000),1330, 0, 2*Math.PI)]);
myPoly = intersect(myPoly,myCircle);
myCircle = new Polygon();
myCircle.addFace([arc(point(1000,1000),1130, 0, 2*Math.PI)]);
// myPoly = subtract(myPoly,myCircle);
// myCircle = new Polygon();
// myCircle.addFace([arc(point(1000,0),980, 0, 2*Math.PI)]);
// myPoly = intersect(myPoly,myCircle);
// The last subtraction will be returned to be visualized above.
// myCircle = new Polygon();
// myCircle.addFace([arc(point(1000,0), 780, 0, 2*Math.PI)]);

return [myPoly, myCircle]
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more