给定一个不规则的多面面多边形,边长相等。有没有算法将它分成六个相等大小的全等区域?
答案 0 :(得分:3)
没有。这种细分并非总是可行:
考虑通过将两个正多边形P
和P1
与不同且非常大的边P2
和N1
连接而获得的多边形N2
。此多边形将一对圆盘C1
和C2
近似为任意精度。
考虑将其细分为六个全等区域。
考虑P1
的顶点集。必须有一个至少包含(N1)/6
个顶点的区域。调用顶点V1
和区域R1
。必须有一个至少包含(N2)/6
P2
个V2
个顶点的区域。调用区域R2
的顶点R1 != R2
。
如果R2
,则必须存在R1
到2*N1 < N2
的同余映射。如果R1 == R2
,则无法进行此类映射。选择N2比N1大得多。
因此,V1
。有一个区域同时包含V2
和P2
。每个区域的直径必须大于C1
的直径。
使用双圆近似。每个区域必须包含至少为C2
周长的1/6的弧和至少为R1
周长的1/6的弧。此外,至少有一个区域位于两个圆圈内,没有区域完全位于较小的圆圈内。
考虑12
的可能同余。任何一致性要么是1)是沿主轴的反射,要么是2)P或3之外的P1或P2的映射,或者将周边的某些部分映射到P的内部。反射是不充分的,因此任何细分必须包含一致性将P1的某些部分映射到P1的内部。
因此,每个区域边界必须包含直径为C6
的凹弧。直觉上,这表明这种细分不可能存在。
您可以检测到许多类别的多边形:
D6
。这些可以以任何尊重旋转对称性的方式细分。C3
(顺序-3旋转+镜像)。沿着镜子切开。C6, D3 and checkerboard tiles => easy to subdivide; polyforms => maybe possible; the rest => probably no subdivision
很容易,后续切割不是这样)而且我是一个人。为了证明问题的复杂性:存在一类逻辑谜题,其目标是在两个全等区域中分割复杂形状(60个方格)。如果人 不容易在两个全等区域中拆分多元,那么您如何期待? 计算机在六个全等区域中拆分一般形状?
如果做想要检测可能进行细分的大多数情况,则必须在编程时间(以支持越来越多的特殊情况)和测试强度之间进行权衡。对于初学者,请坚持使用{{1}}。