public boolean separatedByAxis(Vector axis3, Poly poly1, Poly poly) {
		float mina, maxa;
		float minb, maxb;
		calculateInterval(axis3, poly1);
		mina = poly1.getMin();
		maxa = poly1.getMax();
		calculateInterval(axis3, poly);
		minb = poly.getMin();
		maxb = poly.getMax();

		double d0 = maxb - mina;
		double d1 = minb - maxa;

		if (d0 < 0.0 || d1 > 0.0) {
			return true;
		}

		double overlap = (d0 < -d1) ? d0 : d1;

		double axis_length_squared = axis3.dot(axis3);
		assert (axis_length_squared > 0.00001);

		Vector sep = new Vector(0, 0);
		sep.x = axis3.x * (overlap / axis_length_squared);
		sep.y = axis3.y * (overlap / axis_length_squared);

		double sep_length_squared = sep.dot(sep);

		if (sep_length_squared < info.getLengthSquared() || info.getLengthSquared() < 0.0) {
			info.setLengthSquared(sep_length_squared);
			info.setMtd(sep);
		}
		return false;

	}