A geometric way to build strong mixed-integer programming formulations