Poliedros que preenchem o espaço: tesselação de células de Voronoi e classificação de estéreoedros no espaço euclidiano tridimensional
Poliedros que preenchem o espaço: tesselação de células de Voronoi e classificação de estéreoedros no espaço euclidiano tridimensional
por Ed Pegg
Estou preparando uma palestra online gratuita no dia 16 de abril, às 11h (horário de Chicago), sobre poliedros que preenchem o espaço. Mas o notebook está ficando enorme com tantos dados.
Aqui está o link do YouTube: https://www.youtube.com/watch?v=YQRHsnd9yCA
Aqui está o link do YouTube: https://www.youtube.com/watch?v=YQRHsnd9yCA
Estou colocando alguns dados aqui para tornar o notebook da palestra mais manejável.
Isso expande minha publicação anterior sobre o poliedro Engel-38. https://community.wolfram.com/groups/-/m/t/2617634
Um artigo de Moritz W. Schmitt, On Space Groups and Dirichlet–Voronoi Stereohedra, fornecey o direcionamento. Dentro do grupo espacial IT(214), o ponto gerador da grade (427/6984, 761/6984, 1421/6984) produz o poliedro de 38 faces que preenche o espaço. O autor também disponibiliza o programa https://github.com/moritzschmitt/plesiohedron. Mas nunca consegui fazê-lo funcionar.
Eu já tinha um poliedro gerado a partir de uma célula de Voronoi, então quis gerar os outros 3903 poliedros.
Primeiro, obtive dados de 3903 plesioedros a partir do artigo de Schmitt.
In[]:=
schmittSG=;
Eu consegui abrir aquela forma compactada. Imagine 50 páginas de código.
MaXrd é um bom pacote de programas para grupos espaciais, como mencionei.
MaXrd é um bom pacote de programas para grupos espaciais, como mencionei.
PacletInstall["https://github.com/Stianpr20/MaXrd/releases/download/4.0.0/MaXrd-4.0.0.paclet"]
Quantas rotações existem em cada grupo espacial? Eu precisava saber isso mais adiante.
spacegrouprotations=;
Novo código
Novo código
Código Plesio 2
Código Plesio 2
Novo código de célula de translação
Novo código de célula de translação
Ângulos diedrais
Ângulos diedrais
Novo código de célula de translação V2
Novo código de célula de translação V2
Nova célula de translação V3
Nova célula de translação V3
Voltando à explicação
Voltando à explicação
Com todo esse código, obtive os 3903 poliedros que preenchem o espaço.
In[]:=
sf=;
O seguinte significa que encontrei 16 poliedros de 4 faces que preenchem o espaço e 1 poliedro de 38 faces:
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}
O último é o Engel-38
In[]:=
sf[[35]]
Poliedros de 8 faces que preenchem o espaço
Poliedros de 8 faces que preenchem o espaço
Devido a problemas de similaridade, selecionamos apenas aqueles com uma estrutura de grafo diferente. Eu deveria ter acompanhado os ângulos diedrais.
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[]=
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
195 {6,12,8} 1 2 |
150 {12,18,8} 1 3 |
95 {12,18,8} 121 250 121 250 1 8 |
205 {7,13,8} 360 1441 721 2882 |
198 {8,14,8} - 1 8 1 8 1 8 |
208 {7,13,8} 907 1816 907 3632 |
121 {10,16,8} 51 250 23 125 1 4 |
112 {12,18,8} 62 125 31 125 |
230 {8,14,8} - 1 8 1 24 5 24 |
180 {11,17,8} 62 125 62 125 |
122 {12,18,8} 875 2518 875 2518 |
87 {12,18,8} 47 100 1 500 31 125 |
140 {11,17,8} 47 100 13 500 31 125 |
223 {10,16,8} 249 7264 247 7264 243 7264 |
193 {12,18,8} 23 125 7 125 1 250 |
205 {6,12,8} 721 2882 360 1441 360 1441 |
Algo está errado com o 2º e o 15º. Tenho três versões do código de célula unitária e cada uma ainda apresenta dificuldades com alguns dos grupos espaciais mais estranhos.
Idealmente, dentro de algumas horas, terei funções que funcionem para todos os 230 grupos espaciais e um banco de dados organizado para todos os poliedros que preenchem o espaço. Mas isso talvez não seja provável no curtíssimo prazo. Ainda assim, tenho certeza de que eventualmente tudo funcionará. Por enquanto, 90% dos poliedros já funcionam bem.
Mais uma vez, minha palestra online gratuita será no dia 16 de abril, às 11h (horário de Chicago), sobre poliedros que preenchem o espaço.
Aqui está o link do YouTube: https://www.youtube.com/watch?v=YQRHsnd9yCA
Sinta-se à vontade para participar.
Aqui está o link do YouTube: https://www.youtube.com/watch?v=YQRHsnd9yCA
Sinta-se à vontade para participar.
CITE ESTE NOTEBOOK
CITE ESTE 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
by Ed Pegg
Wolfram Community, STAFF PICKS, April 15, 2026
https://community.wolfram.com/groups/-/m/t/3688732