sketch = function(s) {
var step = 0;
var gap = 6;
var r = 125;
var x = d3.range(-r, r, gap);
var y = x.map(d => Math.sqrt(Math.pow(r, 2) - Math.pow(d, 2)));
var c1 = [{ x: 150, y: 150 }, { x: 25 + 250 + 125 * 2, y: 150 }];
var m1 = { x: 25 + 250, y: 150 };
var m2 = { x: 25 + 250 + 125, y: 150 };
s.setup = function() {
s.createCanvas(container.width, container.height);
};
s.draw = function() {
s.background('#eee9e2');
c1.forEach(function(c) {
for (var i = 0; i < x.length; i++) {
s.stroke('#000');
s.line(c.x + x[i], c.y + y[i], c.x + x[i], c.y - y[i]);
}
});
var p = step % (x.length * 2);
for (var i = 0; i < x.length; i++) {
s.stroke('#00f');
if (
(p < x.length && i < p) ||
(p >= x.length && x.length - i > p - x.length)
) {
s.line(m1.x + y[i], m1.y + x[i], m1.x - y[i], m1.y + x[i]);
} else {
s.line(m2.x + y[i], m2.y + x[i], m2.x - y[i], m2.y + x[i]);
}
}
step += .25;
};
}