public static Color[] randomColors(int numColors, int minTotalOffset) {
		int offset = 0;
		int r = 0, g = 0, b = 0;
		Random randGen = new Random(System.currentTimeMillis());
		Color[] colors = new Color[numColors];
		colors[0] = new Color((double) Math.abs(randGen.nextInt()%256)/255.0,
			 	  			  (double) Math.abs(randGen.nextInt()%256)/255.0,
			 	  			  (double) Math.abs(randGen.nextInt()%256)/255.0, 1.0);
		for(int i = 1; i < numColors; ++i) {
			offset = 0;
			while(offset < minTotalOffset) {
				r = Math.abs(randGen.nextInt()%256);
				g = Math.abs(randGen.nextInt()%256);
				b = Math.abs(randGen.nextInt()%256);
				offset = Math.abs((int) ( (double) colors[i-1].getRed()*255.0) - r) +
			  		  	 Math.abs((int) ( (double) colors[i-1].getGreen()*255.0) - g) +
			  		  	 Math.abs((int) ( (double) colors[i-1].getBlue()*255.0) - b);
			}
			colors[i] = new Color((double)r/255.0, (double)g/255.0, (double)b/255.0, 1.0);
		}
		return colors;
	}