Update 考虑当起点或终点被设置到墙壁上的情况