Alexander Deplov

Inverted hypnoses spin

Inverted hypnoses spin

Code

var bg = new Path.Rectangle({
    size: view.size,
    fillColor: 'black'
})

var centerCircle = new Path.Circle({
  radius: 200,
  strokeColor: '#333',
  strokeWidth: 2,
  center: view.center
})

var group = new Group()
var cloneGroup = new Group()
var allArray = []
var amplitudeHorizontal = 0


function onFrame(event){
    var path = new Path.Circle({
      radius: 20,
      fillColor: 'blue',
      center: view.center,
      parent: group,
      applyMatrix: false
    })
    amplitudeHorizontal += 10
       
    group.rotate(Math.sin(event.count * 0.0015) * 2, view.center)

    path.position.x = view.center.x + amplitudeHorizontal * 0.05
    path.position.y = view.center.y + Math.atan(event.count * 0.05) * 2
    path.fillColor.hue += view.center.x + amplitudeHorizontal * 0.02125

    var distance = view.center.getDistance(path.position)
    if (distance > 0){
      path.scaling = 1/(path.position.getDistance(view.center) / 200)
      
    }
    if (distance > view.size.width){
        path.remove()
    }
  
}