Alexander Deplov

Colored Arcs Array

Colored Arcs Array

Code

var bg = new Path.Rectangle({
    size: view.bounds,
    fillColor: 'black',
    position: view.center
})
var rootGroup = new Group()
var point1 = new Path.Circle([384, 283], 4)
point1.fillColor = 'red'
rootGroup.addChild(point1)
point1.opacity = 0
var point2 = new Path.Circle([416, 76], 3)
point2.fillColor = 'red'
rootGroup.addChild(point2)
point2.opacity = 0
var point3 = new Path.Circle([546, 80], 3)
point3.fillColor = 'green'
rootGroup.addChild(point3)
point3.opacity = 0
var arcWidth = 7
var arc = new Path.Arc(point1.position, point2.position, point3.position)
arc.strokeColor = 'blue'
arc.strokeWidth = arcWidth
arc.strokeCap = 'round'
rootGroup.addChild(arc)
var clones = 128 / 2
var angle = 360 / clones
var group = new Group()
for (var i = 0; i < clones; i++) {
    var clone = arc.clone()
    clone.rotate(angle * i, [400, 360])
    clone.strokeColor.hue = i * angle
}
var cloneGroup = rootGroup.clone()
cloneGroup.scale(-1, 1)
cloneGroup.sendToBack()

function onFrame(event) {
    rootGroup.rotate(-0.1)
    cloneGroup.rotate(0.001)
    for (var i = 0; i < rootGroup.children.length; i++) {
        var path = rootGroup.children[i]
        if (path.strokeColor) {
            path.strokeColor.hue -= 1
            path.opacity = 0.5
        }
    }
}

rootGroup.position = view.center