复平面中已知三角形面积反求多边形顶点的可行性及系统特性问询
先把问题的核心设定理清楚:
设 $\omega_0, \ldots, \omega_{n-1}$ 是 $n$ 次单位根,$a_0, \ldots, a_{n-1}$ 是 $(0, 1]$ 区间内的实数。定义 $z_i = a_i \omega_i$ 作为复平面上多边形的顶点,$s_i$ 是以原点、$z_i$、$z_{i+1}$ 为顶点的三角形面积(下标取模 $n$,也就是 $z_n = z_0$)。
我先帮你推导一下面积 $s_i$ 和 $a_i, a_{i+1}$ 的核心关系,这是分析问题的基础:
复平面上,两个复数 $z_i$ 和 $z_{i+1}$ 与原点构成的三角形面积,等于这两个复数张成的平行四边形面积的一半,也就是 $\frac{1}{2} |\text{Im}(z_i \cdot \overline{z_{i+1}})|$。代入 $z_i = a_i \omega_i$($\omega_i$ 是单位根,共轭 $\overline{\omega_i} = \omega_{n-i}$),计算后可以得到:
$$s_i = \frac{1}{2} a_i a_{i+1} \sin\left(\frac{2\pi}{n}\right)$$
因为 $\sin\left(\frac{2\pi}{n}\right)$ 对 $n\geq2$ 都是正数,所以可以整理成循环乘积方程组:
$$a_i a_{i+1} = \frac{2 s_i}{\sin\left(\frac{2\pi}{n}\right)}$$
记常数 $C = \frac{2}{\sin\left(\frac{2\pi}{n}\right)}$,就简化为 $a_i a_{i+1} = C s_i$,接下来分情况讨论:
一、$n=4$(偶数)的情况
对于 $n=4$,$\sin\left(\frac{2\pi}{4}\right)=1$,所以 $C=2$,方程组变成:
- $a_0 a_1 = 2 s_0$
- $a_1 a_2 = 2 s_1$
- $a_2 a_3 = 2 s_2$
- $a_3 a_0 = 2 s_3$
先把这四个方程相乘,左边是 $(a_0a_1a_2a_3)^2$,右边是 $16 s_0s_1s_2s_3$,所以 $a_0a_1a_2a_3 = 4\sqrt{s_0s_1s_2s_3}$(因为所有 $a_i>0$)。
接下来尝试用 $a_0$ 表示其他变量:
- $a_1 = \frac{2s_0}{a_0}$
- 代入第二个方程得 $a_2 = \frac{2s_1}{a_1} = \frac{s_1 a_0}{s_0}$
- 代入第三个方程得 $a_3 = \frac{2s_2}{a_2} = \frac{2s_2 s_0}{s_1 a_0}$
- 最后代入第四个方程:$\frac{2s_2 s_0}{s_1 a_0} \cdot a_0 = 2s_3$,化简后得到 相容性条件:$s_0 s_2 = s_1 s_3$
这意味着:
- 如果给定的 $s_0,s_1,s_2,s_3$ 不满足 $s_0s_2=s_1s_3$,那么根本没有解;
- 如果满足这个条件,解不唯一:你可以任意选取一个正实数 $a_0 = t$(只要保证所有 $a_i = \frac{2s_0}{t}, \frac{s_1 t}{s_0}, \frac{2s_3}{t}$ 都落在 $(0,1]$ 区间内),就能得到一组合法的 $(a_0,a_1,a_2,a_3)$。
所以对于 $n=4$,无法唯一确定顶点对应的 $a_i$ 值,除非添加额外的约束条件。
二、奇数 $n$ 的情况
当 $n$ 是奇数时,情况就不一样了。我们还是从循环乘积方程组 $a_i a_{i+1} = C s_i$ 入手:
如果我们尝试用 $a_0$ 递推表示所有 $a_i$,因为 $n$ 是奇数,当我们绕完一圈回到 $a_0$ 时,会得到一个关于 $a_0$ 的唯一解(不会出现像偶数 $n$ 那样的恒等式)。举个简单的例子,比如 $n=3$:
方程组是 $a_0a_1=C s_0, a_1a_2=C s_1, a_2a_0=C s_2$,相乘得 $(a_0a_1a_2)2=C3 s_0s_1s_2$,所以 $a_0a_1a_2=C^{3/2}\sqrt{s_0s_1s_2}$,然后可以解出:
$a_0 = \frac{C^{3/2}\sqrt{s_0s_1s_2}}{C s_1} = \sqrt{\frac{C s_0 s_2}{s_1}}$,是唯一的正实数解,进而可以得到 $a_1,a_2$ 的唯一值。
本质上,对于奇数 $n$,这个循环乘积系统可以通过取对数转化为循环线性系统,其对应的循环矩阵的特征值都不为零,因此系统有唯一解。只要给定的 $s_i$ 都是正数,且解出来的 $a_i$ 都落在 $(0,1]$ 区间内,就存在唯一的一组 $(a_0,...,a_{n-1})$。
总结
- 奇数 $n$:问题可以转化为有唯一解的循环线性系统,只要给定的 $s_i$ 合法(正数且解在 $(0,1]$ 内),就能唯一确定所有 $a_i$;
- 偶数 $n$:系统是欠定的,首先需要满足相容性条件才能有解,即使满足条件,解也不唯一,无法仅通过 $s_i$ 确定唯一的 $a_i$ 组合。
备注:内容来源于stack exchange,提问作者Andre Paulino de Lima




