     geometryColors = []
     for i,color of this.colors
       vertex = new THREE.Vector3()
-      vertex.x = color.x
-      vertex.y = color.y
-      vertex.z = color.z
+      vertex.x = (color.x - Math.floor(this.canvas.matrixDimensions[1] / 2)) * 15 #this.canvas.colorBoxSize
+      vertex.y = (color.y - Math.floor(this.canvas.matrixDimensions[0] / 2)) * 15 #this.canvas.colorBoxSize
+      vertex.z = color.z / 100
       geometry.vertices.push( vertex );
       geometryColors[i] = new THREE.Color parseInt(color.color.hex, 16)
 
     geometry.colors = geometryColors
 
-    material = new THREE.PointCloudMaterial { size: 50, vertexColors: THREE.VertexColors }
+    material = new THREE.PointCloudMaterial { size: 20, vertexColors: THREE.VertexColors, sizeAttenuation: true }
 
     this.canvas.particles = new THREE.PointCloud geometry, material
     this.canvas.scene.add this.canvas.particles

    this.canvas.renderer.setSize( window.innerWidth, window.innerHeight )

    this.canvas.mouse = new THREE.Vector2()

    this.canvasDrawColors()

    document.body.appendChild( this.canvas.renderer.domElement )


  #
  dataLoadColors : (colors)->
    $.each colors, ((i,v) ->
      this.colors[i] = v
    ).bind(this)
    this.dataAssignCoords()

    this.canvasDrawColors() if this.canvas.scene

  #
  dataAppendColors : (colors) ->
    Array.prototype.push.apply(this.colors, colors)
    this.dataAssignCoords()

  #
  dataPrependColors : (colors) ->
    Array.prototype.unshift.apply(this.colors, colors)
    this.dataAssignCoords()
    this.canvas.step_index += colors.length


  # --- Canvas ---
