// Generated by CoffeeScript 1.10.0 (function() { var MIN_PADDING, data, en_nodes, height, nodes, simulation, svg, width; svg = d3.select('svg'); width = svg.node().getBoundingClientRect().width; height = svg.node().getBoundingClientRect().height; MIN_PADDING = 3; data = [ { r: 5 }, { r: 10 }, { r: 20 }, { r: 30 }, { r: 30 }, { r: 10 }, { r: 20 }, { r: 30 }, { r: 30 }, { r: 10 }, { r: 20 }, { r: 30 }, { r: 30 }, { r: 50 } ]; simulation = d3.forceSimulation().force('center', d3.forceCenter(width / 2, height / 2)).force('collision', d3.forceCollide(function(d) { return d.r + MIN_PADDING; })); nodes = svg.selectAll('.node').data(data); en_nodes = nodes.enter().append('circle').attrs({ "class": 'node', r: function(d) { return d.r; } }); simulation.nodes(data).on('tick', function() { return en_nodes.attrs({ transform: function(d) { return "translate(" + d.x + ", " + d.y + ")"; } }); }); }).call(this);