IMO 2011 年的第 2 题:

设 $S$ 是平面上包含至少两个点的有限点集,并且其中任意三点不共线。定义一个「风车」过程:直线 $l$ 从 $S$ 中一点 $P$ 开始,绕 $P$ 顺时针旋转,直到 $l$ 碰到 $S$ 中另一点 $Q$。此时 $Q$ 变为 $l$ 的新旋转中心,$l$ 继续顺时针旋转,直到直线再次碰到 $S$ 中的某一点。此过程将一直持续下去。证明可在 $S$ 中选一点和过该点的一条直线,使得对应的「风车」过程中,$S$ 中的所有点都将无限次地作为旋转中心。


考虑当直线变换旋转中心时的状态,由于 $S$ 是有限集,因此 $S$ 中任意两点形成的直线数量也是有限的,所以直线变换旋转中心的状态也有限。又由于状态转移是确定且可逆的,因此从一个状态出发必将回到该状态,即直线一定会转回到初始状态。原问题可以转化为:当直线转回初始状态时,必定经过了所有的点。

寻找一条直线,使得直线两边的点数量相同(假设有奇数个点)。可以看到,在「风车」过程中,直线两边的点数量永远保持相同。为了方便,可以定义直线的一个方向,使得可以区分直线的左边和右边:

  1. 如果直线碰到了左边的点,并以其作轴旋转时,原先的轴点则变为直线左边的点
  2. 如果直线碰到了右边的点,同理

所以当直线转过 $180\textdegree$ 时,由于两边点数量相同,做轴的点必定是初始轴点。又因为此时直线两边的点互换了左右,所以直线一定碰到了所有的点。

当点的数量为偶数时,可以将直线上的点算为右边的点,则同样可以得到直线两边点的数量在旋转过程中保持不变。此时旋转 $180\textdegree$ 后作轴的点将不再是初始点,但直线两边的点依旧互换了左右。再次旋转 $180\textdegree$ 可以回到初始位置,因此证明依旧成立。

参考

  1. 3Blue1Brown Video