Icosaedro y número de oro

Construcción de un icosaedro a partir de tres rectángulos áureos.

Ver icosaedro

h = 1.8 (slider from 1 to 3, step 0.1)
c = 1.618033988749895
b = 1
a = 0
B: (h * (a, b, (-c)))
C: (h * (a, (-b), c))
D: (h * (a, (-b), (-c)))
A: (h * (a, b, c))
p1, a_1, c_1, d, b_1 = Polygon(A, C, D, B)
E: (h * (b, c, a))
F: (h * (b, (-c), a))
G: (h * ((-b), c, a))
H: (h * ((-b), (-c), a))
p2, f, h_1, g, e = Polygon(F, H, G, E)
I: (h * (c, a, b))
J: (h * (c, a, (-b)))
K: (h * ((-c), a, b))
L: (h * ((-c), a, (-b)))
p3, i, k, l, j = Polygon(I, K, L, J)
poli1, c_2, k_1, a_2 = Polygon(K, A, C)
m = Line(D, A)
M = Midpoint(A, D)
lista1 = Sequence(Rotate[poli1, ((i * 72))°, m], i, 1, 5)
lista1' = Mirror(lista1, M)
poli2, j_1, i_1, e_1 = Polygon(I, E, J)
lista2 = Sequence(Rotate[poli2, ((i * 72))°, m], i, 1, 5)
poli3, j_2, f_1, i_2 = Polygon(F, I, J)
lista3 = Sequence(Rotate[poli3, ((i * 72))°, m], i, 1, 5)
lista4: {lista1, lista1', lista2, lista3}
lista4' = Translate(lista4, Vector[(0, 0, 0)])
n = false