🫐n-plane-problem
约 696 字大约 2 分钟
math
2026-02-13
Problem: n 个平面最多可以把三维空间分成多少个区域?
Idea
考虑用递推的方式理解空间划分问题。
当加入第 n 个平面时,它会被之前的 n−1 个平面截成交线。这些交线都落在新平面上,于是问题就转化为:
n−1 条直线最多能把一个平面分成多少个区域?
每一个这样的平面区域,都会对应地把原空间中的一个区域再分裂成两个。因此:
新增的空间区域数量 = 新平面被这些交线划分出的区域数量。
可以从几何上这样理解:设想已有的 n−1 个平面都穿过原点,现在在 y 轴某处取一个与 XOZ 平面平行的新平面 D。这个新平面与原有平面的交线构成一个平面划分。 在平面 D 的一侧,是原来的空间区域;另一侧则对应新产生的区域,其数量恰好等于平面划分的区域数。
如图所示:

平面划分递推
设 Rn 表示 n 条直线最多把平面分成的区域数,则有:
Rn=Rn−1+n,R0=1
这表示:加入第 n 条直线时,它最多与已有直线产生 n−1 个交点,从而被分成 n 段,每一段都会新增一个区域。
空间划分递推
设 Sn 表示 n 个平面最多把空间分成的区域数,则有:
Sn=Sn−1+Rn−1,S0=1
这里的含义正是:第 n 个平面新增的空间区域数,等于它在自身平面内被交线划分出的区域数。
Primary Idea
笔者在中学时尚未系统学习等差数列与多项式理论,但通过记录前几项空间划分数并不断做“相邻差”,发现了如下的规律:
它可以看作离散情形下的“求导”操作: 对一个由多项式生成的数列,重复做差分会逐步降低其“阶数”,直到得到常数。
如图所示:

这一过程本质上就是:有限差分(finite difference)
