               y1 > ny2 ||
               y2 < ny1
 
-
+  write_positions = -> 
+    positions = {}
+    for o, i in nodes
+      positions[parseInt(opinions[i].user.substring(6))] = \
+        [Math.round((o.x - o.radius) * 10) / 10, Math.round((o.y - o.radius) * 10) / 10]
+
+    opts.done?(positions)
 
   ##############
   # Initialize positions of each node

            p2.y -= offset_y / 2
            p1.y += offset_y / 2

      # Visit subregions if we could possibly have a collision there
      neighborhood_radius = p1.radius
      nx1 = p1.x - neighborhood_radius

  collide = (p1, alpha) ->

    return (quad, x1, y1, x2, y2) ->
      collisions += 1

      p2 = quad.point
      if quad.leaf && p2 && p2 != p1
        dx = Math.abs (p1.x - p2.x)
