Icosaedro

Esfera

Dodecaedro

Balón 2015

Balón clásico

r = 1.7 (slider from 0 to 5, step 0.1)
A: (0, r, 0)
A' = Rotate(A, 120°, zAxis)
A'' = Rotate(A', 120°, zAxis)
a, B, C, D, E, F, G, H, I, J, caraAA'A'', caraAA''D, caraADE, caraABE, caraAA'B, caraA'BF, caraA'CF, caraA'A''C, caraA''CG, caraA''DG, caraCFI, caraCGI, caraGIJ, caraDGJ, caraFHI, caraHIJ, caraEHJ, caraDEJ, caraBFH, caraBEH, aristaAA'', aristaAA', aristaA'A'', aristaAD, aristaA''D, aristaAE, aristaDE, aristaAB, aristaBE, aristaA'B, aristaA'F, aristaBF, aristaA'C, aristaCF, aristaA''C, aristaA''G, aristaCG, aristaDG, aristaCI, aristaFI, aristaGI, aristaGJ, aristaIJ, aristaDJ, aristaHI, aristaFH, aristaHJ, aristaEJ, aristaEH, aristaBH = Icosahedron(A, A', A'')
K: (H + (2 * I)) / 3
L = Midpoint(K, H)
M: (J + (2 * I)) / 3
Ce = Midpoint(A, I)
b = Line(I, A)
c = Sphere(Ce, A)
d = Ray(Ce, L)
e = Ray(Ce, K)
f = Ray(Ce, M)
N, O = Intersect(d, c)
P, Q = Intersect(e, c)
R, S = Intersect(f, c)
T = Midpoint(K, L)
U = Midpoint(K, M)
g = Ray(Ce, T)
h = Ray(Ce, U)
V, W = Intersect(g, c)
Z, A_1 = Intersect(h, c)
k = CircumcircleArc(Q, A_1, S)
p = CircumcircleArc(Q, W, O)
lista1 = Sequence(Rotate[k, ((i * 72))°, b], i, 1, 5)
lista2 = Sequence(Rotate[p, ((i * 72))°, b], i, 1, 5)
i = Line(A'', H)
lista3 = Sequence(Rotate[lista1, ((t * 72))°, i], t, 1, 5)
lista4 = Sequence(Rotate[lista2, ((t * 72))°, i], t, 1, 5)
p' = Rotate(p, -60°, zAxis)
lista5 = Sequence(Rotate[p', ((t * 72))°, i], t, 1, 5)
lista3' = Mirror(lista3, Ce)
lista4' = Mirror(lista4, Ce)
lista5' = Mirror(lista5, Ce)
j = false
l = true
CH: (H + I + J) / 3
m = Ray(Ce, CH)
B_1, VD = Intersect(m, c)
VD' = Rotate(VD, -72°, b)
VD'' = Rotate(VD', -72°, b)
n, C_1, D_1, E_1, F_1, G_1, H_1, I_1, J_1, K_1, L_1, M_1, N_1, O_1, P_1, Q_1, R_1, S_1, cara1, cara5, cara4, cara2, cara3, cara6, cara10, cara11, cara7, cara8, cara9, cara12, arista4, aristaVD'VD'', aristaVDVD', arista1, arista6, arista5, arista8, arista16, arista18, arista17, arista9, arista3, arista10, arista11, arista2, arista12, arista13, arista7, arista14, arista15, arista22, arista28, arista23, arista25, arista19, arista24, arista20, arista26, arista21, arista27 = Dodecahedron(VD'', VD', VD)
o = false
VDM = Midpoint(VD', VD)
q = Ray(Ce, VDM)
T_1, U_1 = Intersect(q, c)
s = CircumcircleArc(VD, U_1, VD')
lista6 = Sequence(Rotate[s, ((k * 72))°, b], k, 1, 5)
lista6' = Mirror(lista6, Ce)
t = Ray(Ce, E)
lista7 = Sequence(Rotate[lista6, ((k * 72))°, t], k, 1, 5)
lista7' = Mirror(lista7, Ce)
VV: VD' + (1 / 1.85065 * (F - VD'))
a_1 = Ray(Ce, F)
WW = Rotate(VV, 1.2566370614359172, a_1)
MM = Midpoint(VV, WW)
b_1 = Ray(Ce, VV)
c_1 = Ray(Ce, MM)
d_1 = Ray(Ce, WW)
PP_1, PP_2 = Intersect(b_1, c)
PP'_1, PP'_2 = Intersect(c_1, c)
PP''_1, PP''_2 = Intersect(d_1, c)
e_1 = CircumcircleArc(PP_2, PP'_2, PP''_2)
V_1 = Midpoint(PP_2, VD')
f_1 = Ray(Ce, V_1)
PP''_3, PP''_4 = Intersect(f_1, c)
g_1 = CircumcircleArc(VD', PP''_4, PP_2)
lista8 = Sequence(Rotate[e_1, ((k * 72))°, a_1], k, 1, 5)
lista9 = Sequence(Rotate[g_1, ((k * 72))°, a_1], k, 1, 5)
lista10 = Sequence(Rotate[lista8, ((k * 72))°, b], k, 1, 5)
u = Plane(Ce, VD', VD'')
lista8' = Mirror(lista8, u)
lista10' = Mirror(lista10, Ce)
lista8'' = Mirror(lista8', Ce)
lista11 = Sequence(Rotate[lista9, ((k * 72))°, b], k, 1, 5)
lista11' = Mirror(lista11, Ce)
lista9' = Mirror(lista9, u)
lista9'' = Mirror(lista9', Ce)
v = true
w = false
velogiro:0
W_1 = (-6, -2)
Z_1 = (0, -2)
A_2 = (0.779486840000001, -1.96456878)
B_2 = (6.7794868400000015, -1.96456878)
radioico = 1.175 (slider from 1 to 1.28, step 0.005)
AA: Ce + (radioico * (A - Ce))
AA': Ce + (radioico * (A' - Ce))
AA'': Ce + (radioico * (A'' - Ce))
h_1, C_2, D_2, E_2, F_2, G_2, H_2, I_2, J_2, K_2, caraAAAA'AA'', cara14, cara16, cara15, cara13, cara18, cara19, cara17, cara20, cara21, cara24, cara25, cara30, cara27, cara29, cara31, cara28, cara26, cara23, cara22, aristaAAAA'', aristaAAAA', aristaAA'AA'', arista30, arista36, arista31, arista44, arista29, arista38, arista32, arista34, arista39, arista33, arista41, arista35, arista37, arista42, arista45, arista43, arista50, arista51, arista52, arista55, arista46, arista53, arista49, arista54, arista48, arista47, arista40 = Icosahedron(AA, AA', AA'')
radiodode = 1.125 (slider from 1 to 1.28, step 0.005)
DD: Ce + (radiodode * (VD - Ce))
DD': Ce + (radiodode * (VD' - Ce))
DD'': Ce + (radiodode * (VD'' - Ce))
i_1, L_2, M_2, N_2, O_2, P_2, Q_2, R_2, S_2, T_2, U_2, V_2, W_2, Z_2, A_3, B_3, C_3, D_3, cara32, cara36, cara35, cara33, cara34, cara37, cara41, cara42, cara38, cara39, cara40, cara43, arista59, aristaDD'DD'', aristaDDDD', arista56, arista61, arista60, arista63, arista71, arista73, arista72, arista64, arista58, arista65, arista66, arista57, arista67, arista68, arista62, arista69, arista70, arista77, arista83, arista78, arista80, arista74, arista79, arista75, arista81, arista76, arista82 = Dodecahedron(DD'', DD', DD)

Tool: tetras
tetras[ <Punto>, <Punto>, <Punto> ]
Input: A, A', A''
Output: lista1

u = Vector(A, A')
v = Vector(A, A'')
a, B, caraAA'A'', caraAA''B, caraAA'B, caraA'A''B, aristaAA'', aristaAA', aristaA'A'', aristaAB, aristaA''B, aristaA'B = Tetrahedron(A, A', A'')
w = Vector(A, B)
lista1: {Octahedron[A + (1 / 2 * w) + (1 / 4 * u), A + (1 / 2 * w) + (1 / 4 * (u + v)), A + (1 / 2 * w) + (1 / 4 * v)], Octahedron[A + (1 / 4 * u), A + (1 / 4 * (u + v)), A + (1 / 4 * v)], Octahedron[A + (3 / 4 * u), A + (1 / 4 * ((3 * u) + v)), A + (1 / 4 * ((2 * u) + v))], Octahedron[A + (3 / 4 * v), A + (1 / 4 * (u + (2 * v))), A + (1 / 4 * (u + (3 * v)))]}