Dodecaedro rómbico rellena espacio

Se muestra uno de los tres poliedros convexos que rellena el espacio.

Basta hacer una simetria central del deodecaedro rómbico respecto al centro de cada una de sus caras para comprobar la propiedad.

Velocidad animación plano

Marca las casillas.

RA = 1 (slider from 0 to 1, step 1)
p = 1.1755705045849463
t = 1.7320508075688772
c = 1.4142135623730951
n = 4 (slider from 3 to 5, step 1)
L = 2.1 (slider from 1 to 3, step 0.1)
ar = If(n ≟ 3, L / t, If[n ≟ 4, L / c, If[n ≟ 5, L / p]])
des = If(RA ≟ 0, L, If[RA ≟ 1, ar])
O = Intersect(xAxis, yAxis)
ci = Circle(O, des)
A = Point(ci)
A' = Rotate(A, (360 * ° / n), O)
A'' = Rotate(A', (360 * ° / n), O)
v = 1.6 (slider from -5 to 5, step 0.1)
b = Distance(A, A')
a, B, C, D, E, F, cara1, cara2, cara3, cara4, cara5, cara6, arista1, arista2, arista3, arista4, arista5, arista6, arista7, arista8, arista9, arista10, arista11, arista12 = Cube(A, A', A'')
G = Midpoint(E, A)
G' = Mirror(G, cara4)
G'_1 = Mirror(G, cara3)
G'_2 = Mirror(G, cara6)
rombo1, g'_2, e, g', d = Polygon(G'_2, E, G', D)
lista1 = Sequence(Rotate[rombo1, ((i * 90))°, zAxis], i, 0, 3)
lista1' = Mirror(lista1, G)
rombo2, g'_1, d_1, g'_3, a' = Polygon(G', D, G'_1, A')
lista2 = Sequence(Rotate[rombo2, ((i * 90))°, zAxis], i, 0, 3)
lista3: {lista1, lista1', lista2}
lista3' = Translate(lista3, Vector[(0, 0, 0)])
H = Midpoint(C, F)
lista4 = Mirror(lista3', H)
lista5 = Sequence(Rotate[lista4, ((i * 90))°, zAxis], i, 0, 3)
lista5' = Mirror(lista5, G)
I = Midpoint(F, B)
lista3'' = Mirror(lista3', I)
lista6 = Sequence(Rotate[lista3'', ((i * 90))°, zAxis], i, 0, 3)
f = false
g = false
h = false