Use zoom against physical size instead of factor against previous to calculate new zoom level