Code
var bg = new Path.Rectangle({
size: view.bounds,
fillColor: 'black',
position: view.center
})
var amount = 24
var angle = 360 / amount
var group = new Group()
for (var i = 0; i < amount; i++) {
var path = createPiece()
path.position.x += 200
path.fillColor.hue = i * 12
path.rotate(i * angle, path.bounds.bottomCenter)
path.blendMode = 'lighten'
// 'normal', 'multiply', 'screen', 'overlay', 'soft-light', 'hard- light', 'color-dodge', 'color-burn', 'darken', 'lighten', 'difference', 'exclusion', 'hue', 'saturation', 'luminosity', 'color', 'add', 'subtract', 'average', 'pin-light', 'negation', 'source-over', 'source-in', 'source-out', 'source-atop', 'destination-over', 'destination-in', 'destination-out', 'destination-atop', 'lighter', 'darker', 'copy', 'xor'
group.addChild(path)
}
function createPiece() {
var margin = 70
var circle1 = new Path.Circle({
radius: 100,
fillColor: 'blue',
position: view.center - [margin, 0],
opacity: 0.5,
applyMatrix: false
})
circle1.position.x += 20
var circle2 = new Path.Circle({
radius: 100,
fillColor: 'blue',
position: view.center + [margin, 0]
})
var circle3 = circle1.intersect(circle2)
circle1.remove()
circle2.remove()
circle3.fillColor = 'blue'
circle3.scaling = [2.5, 2.5]
return circle3
}
group.position = view.center
function onFrame(event) {
for (var i = 0; i < group.children.length; i++) {
var path = group.children[i]
path.fillColor.hue += 0.5
path.rotate(0.2)
}
}