Alexander Deplov

Rainbow drawing sin wave

Rainbow drawing sin wave

Code

var bg = new Path.Rectangle({
    size: view.bounds,
    fillColor: 'black',
    position: view.center
})
    var array = []
    var group = new Group()
    var bg = new Path.Rectangle({
        size: view.size,
        position: view.center,
        fillColor: 'black'
    })
    bg.sendToBack()

    function drawCircle(x, y, scale, color) {
        var circle = new Path.Circle({
            radius: 4,
            center: [x, y],
            fillColor: 'yellow',
            opacity: 1,
            parent: group,
            applyMatrix: false
        })
        circle.scale(scale)
        circle.fillColor = color
        circle.bringToFront()
        return circle
    }

    function onFrame(event) {
        var x = view.center.x + Math.sin(event.count * 0.05 / 2) * 250
        var y = view.center.y + Math.sin(event.count * 0.05) * 70
        if (group.children.length > 300) {
            group.children[0].remove()
        }
        drawCircle(x, y, 1, 'yellow')
        for (var i = 0; i < group.children.length; i++) {
            var object = group.children[i]
            object.scaling += 0.4
            object.fillColor.hue = -20 * (event.count * 0.02) + i
            bg.fillColor = group.children[0].fillColor
        }
    }