public ArtComponent(double[][][] graph, Dimension size, ACOPanel p) {
		super();
		
		this.thisSize = computeFromParentSize(size);
		this.graph = graph;
		parent = p;
		this.setPreferredSize(thisSize);
		this.setDoubleBuffered(true);
		
		tasksv = new Ellipse2D.Float[graph[0].length];
		agentsv = new Ellipse2D.Float[graph.length];
		lines = new Line2D.Float[tasksv.length];
		pheroLines = new Line2D.Float[graph[0].length][graph.length];  // switch to graphical configuration
		capPercents = new double[agentsv.length];
		
		this.computePositions();

		this.repaint();
		
		System.out.println("trying to construct canvas");
		
	}