朝花夕拾

轻飘飘的旧时光就这么溜走 转头回去看看时已匆匆数年

各种多面体以及它们在 4D 中的旋转

2019-01-02


PyWonderland 项目的 polytopes 子项目中新加入了一个脚本,可以制作各种 3D/4D 均匀多面体的旋转动画,这个旋转是在四维空间中进行的,然后投影到三维空间中 (对 3D 多面体要先将其嵌入四维空间中然后再投影回三维空间)。整个过程是傻瓜式的,只要一键运行 (windows 下需要设置好 POV-Ray 和 FFmpeg 的路径),程序会自动计算多面体的数据并调用 POV-Ray 渲染,最后调用 FFmpeg 生成视频。

用这个程序可以玩的花样很多很多,前提是要知道多面体对应的 Coxeter-Dynkin 图,以及星状多面体的对称群的生成元之间需要满足的额外的生成关系。以下是用这个程序生成的一些例子,你可以点击图片查看对应的视频:

5-cell tesseract 16-cell
24-cell 120-cell 600-cell
truncated tesseract 3-20 duoprism great 120-cell
grand 120-cell icosahedral 120-cell great icosahedron
truncated dodecahedron prism grand stellated 120-cell snub 24-cell

这里面最不容易分辨的是 great 120-cellgrand 120-cell,它俩看起来似乎一样啊?事实上它俩的顶点、边、面确实都是一样的,差别出在胞腔上,great 120-cell 由 720 个 great dodecahedron (5, 5/2) 组成,而 grand 120-cell 则由 720 个正十二面体 (5, 3) 组成。