I’m doing a free online talk on April 16th, 11AM Chicago time, on space-filling polyhedra. But the notebook is getting huge with data.
Here’s a YouTube link: https://www.youtube.com/watch?v=YQRHsnd9yCA
I’m putting some data here to make the talk notebook more manageable.
This expands my earlier post on the Engel-38 polyhedron. https://community.wolfram.com/groups/-/m/t/2617634
A paper by Moritz W. Schmitt, On Space Groups and Dirichlet–Voronoi Stereohedra, gave the outline. Within space group IT(214) generating grid point (427/6984, 761/6984, 1421/6984), gives the 38-sided space-filling polyhedron. The author also supplies the program https://github.com/moritzschmitt/plesiohedron. But I never got that to work.
I had one polyhedron generated from a Voronoi cell, so I wanted to generate the other 3903 other polyhedra.
First off, I got data for 3903 plesiohedra from the Schmitt paper.
In[]:=
schmittSG=
;
I could open up that compressed form. Imagine 50 pages of code.
MaXrd is good package of programs for space groups, as I mentioned.
PacletInstall["https://github.com/Stianpr20/MaXrd/releases/download/4.0.0/MaXrd-4.0.0.paclet"]
How many rotations are in each space group? I needed to know that later on.
spacegrouprotations=
;

Newer code

Plesio code 2


New translation cell code


Dihedral angles


New translation cell code V2


New Translation cell V3


Back to talking

With all that code, I had the 3903 spacefilling polyhedra.
In[]:=
sf=
;
The following means that I found 16 4-sided space-fillers and 1 38-sided space-fillers:
In[]:=
Length/@sf
Out[]=
{16,81,210,277,162,123,184,153,180,252,469,346,312,305,270,165,100,74,47,46,26,25,28,11,12,9,3,4,2,3,2,3,1,1,1}
The last one is Engel-38
In[]:=
sf[[35]]

Eight-sided space-filling polyhedra

Because of similarity problems, we only select those with a different graph structure. I should have kept track of dihedral angles.
In[]:=
trim8=(First/@GatherBy[SortBy[sf[[5]],{-#["MinFaceArea"],-ReverseSort[#["FaceAreas"]]}&],CanonicalGraph[UndirectedEdge@@@#[["EdgePairs"]]]&]);
In[]:=
Column[{Style[Row[{#["SpaceGroupNumber"]," ",#["VEFCounts"]," ",#["GeneratorPoint"]}],7],​​Graphics3D[{Opacity[.6],GraphicsComplex[#["Vertices"],Polygon/@#["Faces"]]},Boxed->False]},Alignment->Center]&/@trim8
Out[]=
In[]:=
run8=runByLikeFaceCount[trim8,8,2,2];
Something wrong with the 2nd one and the 15th one. I have three versions of the unit-cell code and each of them still has trouble with some of the weirder space groups.
In[]:=
Grid[Partition[Table[tcShowCell[run8[[k]],240],{k,1,16}],UpTo[4]]]
Ideally, within a few hours, I’ll get functions that work for all 230 space groups and a cleaned up database for all the space-filling polyhedra. But that’s maybe unlikely in the very short term. But I’m sure we’ll have it all working eventually. In the meantime, 90% of the polyhedra work fine now.
Again, my free online talk is April 16th, 11AM Chicago time, on space-filling polyhedra.
Here’s a youtube link: https://www.youtube.com/watch?v=YQRHsnd9yCA
Feel free to drop by.

CITE THIS NOTEBOOK

Spacefilling polyhedra: Voronoi cell tessellation & stereohedra classification in 3D Euclidean space​
by Ed Pegg​
Wolfram Community, STAFF PICKS, April 15, 2026
​https://community.wolfram.com/groups/-/m/t/3688732