指南针为什么会指示方向?