public static float detectCollision(Collidable a,Collidable b) {
		if (a == b)
			return -1F;
		float velMag1 = Vector.mag(a.getVelocity());
		float velMag2 = Vector.mag(b.getVelocity());
		
		float sampleFreq1 = velMag1 / a.getLargestDim();
		float sampleFreq2 = velMag2 / b.getLargestDim();
		
		float timeInterval = (sampleFreq1 < sampleFreq2)?1F/sampleFreq2:1F/sampleFreq1;
		
		for (float percent = 0F; percent <= 1F; percent = (percent >= 1F)?(percent + timeInterval):(((percent += timeInterval) > 1F)?1F:percent)) {
			if (compare(a,b,percent)) {
				return percent;
			}
		}
		
		return -1F;
	}