Rotating Polyhedron
旋转多面体与Polya计数
看穿旋转等价:从对称群到 Burnside 计数,本质不同的染色到底有几种
按 空格/→ 演示下一步
全部页面点击任意一页,跳回舞台从这页播放
旋转多面体与Polya计数
看穿旋转等价:从对称群到 Burnside 计数,本质不同的染色到底有几种
什么是旋转多面体
上一页我们看到 Polya 计数能剔除旋转带来的重复。要做这件事,前提是先严格界定:哪些操作算「让多面体回到自身」的合法旋转?这就要从数学上定义「旋转」本身。
轴过中心、角度离散、转后与原物重合——与定义一一对应
正多面体的分类
上页划定了旋转多面体的范围。在它内部,对称性最高的一类——每个面、每条棱、每个顶点彼此等价——就是正多面体(柏拉图立体),世界上恰好五种,每种都自带一个固定的旋转对称群。
同一约束:顶点处正多边形角之和。平面凑到 360°,立体要严格小于 360°,正多边形内角有限,五种拼法全列完
正多面体的旋转群结构
看图:从正多面体出发,展开到各旋转群的对称轴构成。
旋转作为面的置换
上一页看清了正多面体旋转群的阶与对称轴分布。这一页再下一层:每个具体旋转,到底把面搬到了哪?答案是——它把面集重新排了一遍。
转魔方时每块小方块挪到新位置;多面体旋转也把「面」重排一次,规则就是置换
立方体旋转的置换表示
由顶向下读:先看24个旋转按共轭类分成5组,再看每组在8顶点上的循环结构。
循环结构与不动点
上一页我们把立方体旋转写成了面的置换——一个6×6的矩阵。但矩阵不便直接数不变染色。
同一圈的人绑定:要动一起动,要停一起停
求旋转群的方法
求一个多面体的旋转群,按这五步走就能不重不漏。
循环指标的定义
上一页我们把每个旋转都拆成了循环。这页要做一件事:把这 24 份『循环报告』汇总成一张总表——对每种循环类型,统计它在全群中出现几次,最后除以群的大小。
每份体检报告对应一个旋转的循环结构,循环指标就是全班报告的平均统计
循环指标的计算流程
从旋转群出发,五步得到循环指标多项式 Z(G)。
立方体旋转群循环指标
立方体24个旋转按轴类型分类,每类给出循环结构与个数,最终汇成循环指标。
循环指标的代码实现
Python计算多面体循环指标的核心算法
Polya计数定理
上一页我们把立方体旋转群写成了循环指标 Z——一堆带字母的代数式。现在追问:怎么把 Z 变成具体数字?比如,用 3 种颜色染 6 个面,本质不同的方案有几个?
Z 是带变量的代数式;aᵢ=k 即把所有变量同时赋值为颜色数,得到具体计数
染色计数的完整步骤
从问题描述到最终计数,六步走完一遍完整染色计数流程。
Burnside vs Polya方法对比
两种方法在旋转多面体染色问题中的优劣
立方体染色实例图解
四面体、六面体、八面体的具体染色计数
非正则多面体的处理
立方体染色我们算得清清楚楚。但立方体是正多面体,旋转有 24 种。一般凸多面体呢?有的除恒等外一动就变形,也有的介于两者之间——关键是系统地把它找出来。
形状怪异的拼图块几乎只有一种摆法;非正则多面体自旋转也极少
带约束的染色问题
前几页我们让 Polya 大包大揽——任意面、任意色、相邻随意。但真实染色总有规矩:调色板只有 k 种颜色,相邻两面不能同色。这些约束把游戏彻底改写了。
邻国不同色 = 邻面不同色,都是平面图染色
旋转多面体自测
正四面体旋转群的循环指标为 Z = (1/12)(x₁⁴ + 8x₁x₃ + 3x₂²)。用 3 种颜色染 4 个顶点,按 Polya 定理不同染色方案数是?
课后思考与延伸
开放性问题:多面体旋转的深层结构与应用边界