Of the 230 space groups, the symmetries possible in a crystal lattice, the most complicated is group 214,
I4
1
32
. In the words of Steve Dutch, “This group looks chaotic, but visualizing it is easy. All you do is sit there until little beads of blood form on your forehead.” In 1980, P. Engel used this group to make a 38-sided space-filling polyhedron. In 2016, Moritz Schmitt did a complete study of lattice-based space-filling polyhedra, and the Engel-38 had more faces than anything else: Schmitt, Moritz W. (2016), On Space Groups and Dirichlet-Voronoi Stereohedra, Refubium - Freie Universität Berlin Repository, http://dx.doi.org/10.17169/refubium-14374
So, what does Engel-38 look like? Just use the symmetries of
I4
1
32
with the following generator point and find the Voronoi cells. It’s that easy!
In[]:=
generator={427/6984,761/6984,1421/6984};
I’ve been trying to figure out how to do that for years. But wait, we can get help from page 220 of Engel’s Geometric Crystallography. As a hint, we’re going for the third item. Actually, I found this image unhelpful for getting the 3D version, but YMMV.
So, to solve this, I used the tried and true method of giving up and asking for help: 38-sided space-filling polyhedron. After five years, Anders Kaseorg posted an answer with approximate coordinates. Turns out the Moritz Schmitt method worked. With those approximate answers, I was able to use various WL tricks to get exact coordinates. The resource functions IntegerChop (multiply by 6984) and ReflectPoints helped to create 38 midplanes.
Here are exact coordinates using that generator:
In[]:=
vv=
1
8
,0,
1
4
,
107461
289836
,
136309
379464
,
9297209
23621634
,
107461
289836
,
221801821
629523792
,
252105773
629523792
,-
12563675
71428504
,
1772963
10204072
,
38067937
71428504
,-
17501
144918
,
94724825
629523792
,
379182769
629523792
,-
1
8
,
325
2172
,
326
543
,-
45941
398088
,
33581275
216161784
,
130304813
216161784
,-
6783601
47243268
,-
41443
379464
,-
17501
144918
,-
17501
144918
,-
94724825
629523792
,-
64420873
629523792
,
127275209
369977400
,
136309
379464
,
51839447
123325800
,
145463
398088
,
76264367
216161784
,
87621721
216161784
,-
81713311
321051301
,
66661075
642102602
,
633230243
1284205204
,
1
8
,
2397
7880
,
4367
7880
,-
2207001
8479108
,-
829075
8479108
,
89233
4239554
,-
81713311
321051301
,-
66661075
642102602
,
8872359
1284205204
,-
649091
2602048
,-
267517
2602048
,-
2173
2602048
,-
539
2600
,-
1
8
,-
111
2600
,-
21007997
123325800
,-
41443
379464
,-
34780859
369977400
,-
1
8
,-
325
2172
,-
109
1086
,-
17501
144918
,-
6783601
47243268
,-
41443
379464
,
1
8
,
1
8
,
1
8
,-
1
8
,-
1
8
,-
1
8
,
6817921
26457236
,
137669
389077
,
3273047
6614309
,
14
51
,
400855
1128748
,
9227451
19188716
,
84254039
305304904
,
6359811
17959112
,
146585641
305304904
,-
14
51
,0,
1
4
,-
20210811
71428504
,
778055
10204072
,
30420801
71428504
,-
2207001
8479108
,
829075
8479108
,
1015272
2119777
,-
2582043
9594358
,
29667
282187
,
97
204
,-
82393037
305304904
,
1870033
17959112
,
144724639
305304904
,-
6750739
26457236
,
161599
1556308
,
6512503
13228618
,-
539
2600
,
1
8
,
1411
2600
,-
57575929
243811084
,
16739773
121905542
,
31280969
60952771
,-
1
4
,
325
3044
,
1
2
,-
57734437
243811084
,
27473225
243811084
,
31320596
60952771
,-
64171105
243811084
,
27473225
243811084
,
29632175
60952771
,-
1
4
,
1
8
,
1
2
,
652685
2602048
,
918029
2602048
,
1299603
2602048
,0,
1
4
,
107
204
,
1941311
8479108
,
737213
2119777
,
2163389
4239554
,
12563675
71428504
,
3329073
10204072
,
38067937
71428504
,-
2173
2602048
,
649091
2602048
,
1568541
2602048
,-
1
8
,
1543
7880
,
4367
7880
,0,
1
4
,
1309
2172
,-
2071
88118848
,
22028393
88118848
,
53106999
88118848
,-
1
4
,-
23
224
,0,-
22031031
88118848
,-
9047575
88118848
,
2071
88118848
,-
651933
2602048
,-
267517
2602048
,
2173
2602048
,-
1
4
,-
325
3044
,0,-
57734437
243811084
,-
27473225
243811084
,-
1688421
121905542
,-
157624679
642102602
,-
66661075
642102602
,-
8872359
1284205204
,-
6477879
26457236
,-
161599
1556308
,-
50903
6614309
,-
1107568
4797179
,-
29667
282187
,-
5
204
,-
37457
289836
,-
53423
379464
,-
1256804
11810817
,-
37457
289836
,-
92960075
629523792
,-
62656123
629523792
,-
57713491
369977400
,-
53423
379464
,-
9823453
123325800
,-
53581
398088
,-
31816525
216161784
,-
20459171
216161784
,-
53581
398088
,
31816525
216161784
,
128540063
216161784
,-
57713491
369977400
,
53423
379464
,
71486353
123325800
,-
68398413
305304904
,
2619745
17959112
,
158719263
305304904
,-
23
102
,
163519
1128748
,
9961265
19188716
,
1
4
,
383
1086
,
1
2
,
22031783
88118848
,
31077287
88118848
,
44058105
88118848
,
22027641
88118848
,
31077287
88118848
,
44060743
88118848
,
1
4
,
79
224
,
1
2
,-
5293451
71428504
,
15503441
71428504
,
5880091
10204072
,-
89233
4239554
,
2032553
8479108
,
5068629
8479108
,-
8872359
1284205204
,
157624679
642102602
,
193856188
321051301
,-
7927813
305304904
,
70259415
305304904
,
10849589
17959112
,-
50903
6614309
,
6477879
26457236
,
939753
1556308
;
Here are the polygons for those points. The first 12 polygons listed have mirror symmetry. The remaining 26 polygons form 13 pairs of identical polygons:
pol={{21,8,18,53,52,16,46,47,14,26,27,30,29,36,37,33,61,60,4,39,40,64,65,38,23,24,10,2},​​{1,5,6,58,59,32,35,34,12,28,26,14,15,49,50,17,56,57,19,9},​​{1,3,11,25,23,38,63,62,13,44,45,42,70,69,7,5},​​{1,9,20,21,2,3},{43,4,60,58,6,7,69,66},​​{49,15,48,46,16,51},{19,55,54,22,20,9},​​{22,54,56,17,18,8},{39,4,43,44,13,41},​​{62,63,65,64},{34,35,37,36},{32,33,37,35},​​​​{50,49,51,52,53},{36,34,12,31,29},​​{13,62,64,40,41},{43,44,45,67,66},​​{66,69,70,68,67},{27,30,31,12,28},​​{67,68,42,45},{14,15,48,47},​​{18,17,50,53},{59,32,33,61},​​{10,24,25,11},{59,61,60,58},​​{3,2,10,11},{55,54,56,57},​​{65,63,38},{46,47,48},​​{70,42,68},{52,16,51},​​{39,41,40},{26,27,28},​​{24,23,25},{29,31,30},​​{7,6,5},{57,19,55},​​{21,22,8},{21,22,20}};
We can verify those pairs are identical:
In[]:=
Table[((EuclideanDistance@@#)^2&/@Partition[vv[[pol[[k]]]],2,1,1])-​​((EuclideanDistance@@#)^2&/@Partition[vv[[pol[[k+1]]]],2,1,1]),​​{k,13,37,2}]
Out[]=
{{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}}
We can group edges by length. Amazingly, except for edge 21-22, every edge length is used exactly three times:
In[]:=
edges=First/@Transpose/@Sort[SplitBy[SortBy[{#,(EuclideanDistance@@vv[[#]])^2}​​&/@Sort[(First/@Tally[Sort/@Flatten[Partition[#,2,1,1]&/@pol,1]])],Last],Last]];
In[]:=
Length/@edges
Out[]=
{1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
If we reflect the generator on all faces, the identical polygons will have the same distances from the generator:
In[]:=
reflections=Table[ResourceFunction["ReflectPoints"][RandomSample[vv[[pol[[k]]]],3],generator],{k,1,38}];
In[]:=
Partition
2
EuclideanDistance[generator,#]
&/@reflections,2
Out[]=

8873
6097032
,
342373
6097032
,
394307
6097032
,
24497
1016172
,
132491
254043
,
3370585
6097032
,
195929
254043
,
4564187
6097032
,
5941
62856
,
3014401
6097032
,
4505485
6097032
,
375763
508086
,
43039
62856
,
43039
62856
,
1695881
6097032
,
1695881
6097032
,
3029149
6097032
,
3029149
6097032
,
1888021
6097032
,
1888021
6097032
,
4247111
6097032
,
4247111
6097032
,
4153891
6097032
,
4153891
6097032
,
3
4
,
3
4
,
266347
508086
,
266347
508086
,
514435
6097032
,
514435
6097032
,
453053
6097032
,
453053
6097032
,
4069019
6097032
,
4069019
6097032
,
4188365
6097032
,
4188365
6097032
,
191899
6097032
,
191899
6097032

Here’s a picture of Engel-38, with black lines indicating mirror symmetry. The 38 green spheres are each in the plane of one of the 38 faces, at the midpoint between the reflected generator point.
In[]:=
Graphics3D[{Opacity[.8],Polyhedron[vv,pol],Table[{Hue[k/36],Tube[vv[[#]],.002]&/@edges[[k]]},{k,1,36}],Opacity[1],Black,Table[Tooltip[Sphere[vv[[n]],.004],n],{n,1,70}],​​Green,Table[With[{m=Mean[{reflections[[n]],generator}]},{Tooltip[Sphere[m,.005],n],Line[{m,Mean[vv[[pol[[n]]]]]}]}],{n,1,38}],​​Red,Sphere[generator,.01],​​Black,Line[{vv[[#]]}]&/@{{21,37},{1,26},{1,13},{1,21},{43,6},{49,46},{19,22},{22,17},{39,44},{1,21},{62,65},{34,37},{32,37}}},Boxed->False]
Out[]=
With that and a usage of barycentric or areal coordinates, we can generate the 38 copies surrounding the base polyhedron. In each case, we’re either flipping a polygon with mirror symmetry or using a paired identical polygon:
In[]:=
symmetric=Table[ResourceFunction["Areal"][Append[vv[[Take[RotateRight[Reverse[pol[[k]]]],3]]],reflections[[k]]],#]&/@(ResourceFunction["Areal"][Append[vv[[Take[pol[[k]],3]]],generator],#]&/@vv),{k,1,12}];
In[]:=
duplicated1=Table[ResourceFunction["Areal"][Append[vv[[Take[pol[[k+1]],3]]],reflections[[k+1]]],#]&/@(ResourceFunction["Areal"][Append[vv[[Take[pol[[k]],3]]],generator],#]&/@vv),{k,13,37,2}];
In[]:=
duplicated2=Table[ResourceFunction["Areal"][Append[vv[[Take[pol[[k]],3]]],reflections[[k]]],#]&/@(ResourceFunction["Areal"][Append[vv[[Take[pol[[k+1]],3]]],generator],#]&/@vv),{k,13,37,2}];
In[]:=
all=Join[symmetric,duplicated1,duplicated2];
With all that, we can completely surround Engel-38 with copies of itself, with red spheres at reflected generator points.
In[]:=
Graphics3D[{{Red,Polyhedron[vv,pol]},Opacity[.3],Polyhedron[#,pol]&/@all,​​Opacity[.5],Green,Sphere[#,.01]&/@reflections},Boxed->False,SphericalRegion->True,ImageSize->Large]
Out[]=
We can zoom in on the structure at the middle:
The full structure has rotational symmetry around the green pole. Here are twelve Engel-38’s:
I knew Engel-38 would look complicated, but this is even more complex than I expected. I wasn’t expecting every face to have an odd mirror. That makes sense, though, an asymmetric 3D figure cannot use mirror reflections. If you’d like the other end of the spectrum, there are five space-filling tetrahedra. Two of them can duplicate themselves:

CITE THIS NOTEBOOK

Engel 38-sided space-filling polyhedron​
​By Ed Pegg​
Wolfram Community, STAFF PICKS, September 16, 2022
​https://community.wolfram.com/groups/-/m/t/2617634