function circlePoints(children, step, r1, r2, cx, cy, spacing) {
    var points = [],
      x1Before,y1Before,x2Before,y2Before,x1After,y1After,x2After,y2After,
      flag = 0,
      circleLengthR1 = 2*Math.PI*r1,
      circleLengthR2 = 2*Math.PI*r2,
      spacingR1Left = (spacing/2)*360/circleLengthR1,
      spacingR1Right = (spacing/2)*360/circleLengthR1,
      spacingR2Left = (spacing/2)*360/circleLengthR2,
      spacingR2Right = (spacing/2)*360/circleLengthR2,
      custom = checkSize(children),
      steps = [];

    if (custom) {
      steps = buildStepsArr(children, custom);
    }

    for (var i=0, j=0; i<=360; i=custom?i+steps[j]:i+Number(step.toFixed(1)), j++) {
      x1Before = Math.round(cx + r1 * Math.cos(Snap.rad(i-spacingR1Left))),
      y1Before = Math.round(cy + r1 * Math.sin(Snap.rad(i-spacingR1Left))),
      x2Before = Math.round(cx + r2 * Math.cos(Snap.rad(i-spacingR2Left))),
      y2Before = Math.round(cy + r2 * Math.sin(Snap.rad(i-spacingR2Left))),
      x1After = Math.round(cx + r1 * Math.cos(Snap.rad(i+spacingR1Right))),
      y1After = Math.round(cy + r1 * Math.sin(Snap.rad(i+spacingR1Right))),
      x2After = Math.round(cx + r2 * Math.cos(Snap.rad(i+spacingR2Right))),
      y2After = Math.round(cy + r2 * Math.sin(Snap.rad(i+spacingR2Right)));

      points[flag] = {
        before: {
          point1: {
            x: x1Before,
            y: y1Before
          },
          point2: {
            x: x2Before,
            y: y2Before
          }
        },
        after: {
          point1: {
            x: x1After,
            y: y1After
          },
          point2: {
            x: x2After,
            y: y2After
          }
        }
      }

      flag++;
    }
    return points;
  }
/** circlePoints: step, big radius, small radius, center point x/y, spacing between items */
step, big radius, small radius, center point x/y, spacing between items
step big radius small radius center point x / y spacing between items
function circlePoints(children, step, r1, r2, cx, cy, spacing) {
    var points = [],
      x1Before,y1Before,x2Before,y2Before,x1After,y1After,x2After,y2After,
      flag = 0,
      circleLengthR1 = 2*Math.PI*r1,
      circleLengthR2 = 2*Math.PI*r2,
      spacingR1Left = (spacing/2)*360/circleLengthR1,
      spacingR1Right = (spacing/2)*360/circleLengthR1,
      spacingR2Left = (spacing/2)*360/circleLengthR2,
      spacingR2Right = (spacing/2)*360/circleLengthR2,
      custom = checkSize(children),
      steps = [];
    if (custom) {
      steps = buildStepsArr(children, custom);
    }
    for (var i=0, j=0; i<=360; i=custom?i+steps[j]:i+Number(step.toFixed(1)), j++) {
      x1Before = Math.round(cx + r1 * Math.cos(Snap.rad(i-spacingR1Left))),
      y1Before = Math.round(cy + r1 * Math.sin(Snap.rad(i-spacingR1Left))),
      x2Before = Math.round(cx + r2 * Math.cos(Snap.rad(i-spacingR2Left))),
      y2Before = Math.round(cy + r2 * Math.sin(Snap.rad(i-spacingR2Left))),
      x1After = Math.round(cx + r1 * Math.cos(Snap.rad(i+spacingR1Right))),
      y1After = Math.round(cy + r1 * Math.sin(Snap.rad(i+spacingR1Right))),
      x2After = Math.round(cx + r2 * Math.cos(Snap.rad(i+spacingR2Right))),
      y2After = Math.round(cy + r2 * Math.sin(Snap.rad(i+spacingR2Right)));
      points[flag] = {
        before: {
          point1: {
            x: x1Before,
            y: y1Before
          },
          point2: {
            x: x2Before,
            y: y2Before
          }
        },
        after: {
          point1: {
            x: x1After,
            y: y1After
          },
          point2: {
            x: x2After,
            y: y2After
          }
        }
      }
      flag++;
    }
    return points;
  }
function circlePoints ( children , step , r1 , r2 , cx , cy , spacing ) { var points = [ ] , x1Before , y1Before , x2Before , y2Before , x1After , y1After , x2After , y2After , flag = 0 , circleLengthR1 = 2 * Math . PI * r1 , circleLengthR2 = 2 * Math . PI * r2 , spacingR1Left = ( spacing / 2 ) * 360 / circleLengthR1 , spacingR1Right = ( spacing / 2 ) * 360 / circleLengthR1 , spacingR2Left = ( spacing / 2 ) * 360 / circleLengthR2 , spacingR2Right = ( spacing / 2 ) * 360 / circleLengthR2 , custom = checkSize ( children ) , steps = [ ] ; if ( custom ) { steps = buildStepsArr ( children , custom ) ; } for ( var i = 0 , j = 0 ; i <= 360 ; i = custom ? i + steps [ j ] : i + Number ( step . toFixed ( 1 ) ) , j ++ ) { x1Before = Math . round ( cx + r1 * Math . cos ( Snap . rad ( i - spacingR1Left ) ) ) , y1Before = Math . round ( cy + r1 * Math . sin ( Snap . rad ( i - spacingR1Left ) ) ) , x2Before = Math . round ( cx + r2 * Math . cos ( Snap . rad ( i - spacingR2Left ) ) ) , y2Before = Math . round ( cy + r2 * Math . sin ( Snap . rad ( i - spacingR2Left ) ) ) , x1After = Math . round ( cx + r1 * Math . cos ( Snap . rad ( i + spacingR1Right ) ) ) , y1After = Math . round ( cy + r1 * Math . sin ( Snap . rad ( i + spacingR1Right ) ) ) , x2After = Math . round ( cx + r2 * Math . cos ( Snap . rad ( i + spacingR2Right ) ) ) , y2After = Math . round ( cy + r2 * Math . sin ( Snap . rad ( i + spacingR2Right ) ) ) ; points [ flag ] = { before : { point1 : { x : x1Before , y : y1Before } , point2 : { x : x2Before , y : y2Before } } , after : { point1 : { x : x1After , y : y1After } , point2 : { x : x2After , y : y2After } } } flag ++ ; } return points ; }
circlePoints: step, big radius, small radius, center point x/y, spacing between items
circlePoints : step big radius small radius center point x / y spacing between items