Octaedro truncado. Sólido de kelvin

Basta truncar a 1/3 por las aristas del octaedro regular.

La construcción incluye herramientas personales para hacer más rápido el truncamiento.

Velocidad animación plano

Ver Octaedro

Ver Octaedro truncado

RA = 1 (slider from 0 to 1, step 1)
p = 1.1755705045849463
t = 1.7320508075688772
c = 1.4142135623730951
n = 3 (slider from 3 to 5, step 1)
L = 4 (slider from 1 to 4, 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 = 2.5 (slider from -5 to 5, step 0.1)
b = Distance(A, A')
a, B, C, D, caraAA'A'', caraAA''D, caraABD, caraAA'B, caraA'BC, caraA'A''C, caraA''CD, caraBCD, aristaAA'', aristaAA', aristaA'A'', aristaAD, aristaA''D, aristaAB, aristaBD, aristaA'B, aristaA'C, aristaBC, aristaA''C, aristaCD = Octahedron(A, A', A'')
lista1, lista2, lista3, lista4, lista5, E = kelvinelementos(A, A')
d = true
e = false

Tool: div3
div3[ <Punto>, <Punto> ]
Input: A, B
Output: C, D

C: A + (B - A) / 3
D: B + (A - B) / 3

Tool: hexagcentro3
Input: D, E, F
Output: h1, G, H, I, J, K, L, M

G, H = div3(D, E)
I, J = div3(E, F)
K, L = div3(F, D)
h1, l, k, j, i, h, g = Polygon(L, K, J, I, H, G)
M = Midpoint(L, I)

Tool: kelvinelementos
kelvinelementos[ <Punto>, <Punto> ]
Input: A, B
Output: cuadrados, hexagonos, kelvin, lista1, lista2, M

C = Point(Circle[Midpoint[A, B], (Distance[A, B] * sqrt(3) / 2), Segment[A, B]])
a, D, E, F, caraABC, caraACF, caraADF, caraABD, caraBDE, caraBCE, caraCEF, caraDEF, aristaAC, aristaAB, aristaBC, aristaAF, aristaCF, aristaAD, aristaDF, aristaBD, aristaBE, aristaDE, aristaCE, aristaEF = Octahedron(A, B, C)
G, H = div3(D, E)
I, J = div3(E, F)
K, L = div3(F, D)
h1, l, k, j, i, h, g = Polygon(L, K, J, I, H, G)
H5 = Midpoint(L, I)
h2, N, O, P, Q, R, S, H2 = hexagcentro3(E, F, C)
h3, U, V, W, Z, A_1, B_1, H6 = hexagcentro3(B, E, C)
h4, D_1, E_1, F_1, G_1, H_1, I_1, H1 = hexagcentro3(B, D, E)
h5, K_1, L_1, M_1, N_1, O_1, P_1, H3 = hexagcentro3(A, D, B)
h6, R_1, S_1, T_1, U_1, V_1, W_1, H4 = hexagcentro3(A, F, D)
h7, A_2, B_2, C_2, D_2, E_2, F_2, H7 = hexagcentro3(C, F, A)
h8, H_2, I_2, J_2, K_2, L_2, M_2, H8 = hexagcentro3(C, A, B)
lista1: {H1, H2, H3, H4, H5, H6, H7, H8}
c1, o, t_1, c_2, b_2 = Polygon(O, T_1, C_2, B_2)
C1 = Midpoint(T_1, B_2)
c2, u_1, f_1, m_1, l_1 = Polygon(U_1, F_1, M_1, L_1)
C2 = Midpoint(F_1, V_1)
c3, g_1, i_1, w, h_1 = Polygon(G_1, I, W, H_1)
C3 = Midpoint(N, H_1)
c4, n_1, i_2, l_2, k_2 = Polygon(N_1, I_1, L_2, K_2)
C4 = Midpoint(I_1, K_2)
c5, z_1, q, h_2, m_2 = Polygon(Z, Q, H_2, M_2)
C5 = Midpoint(A_2, M_2)
c6, d_2, w_1, j_2, i_3 = Polygon(D_2, W_1, J_2, I_2)
C6 = Midpoint(K_1, I_2)
lista2: {C1, C2, C3, C4, C5, C6}
lista3: {c1, c2, c3, c4, c5, c6}
cuadrados = Translate(lista3, Vector[(0, 0, 0)])
lista4: {h1, h2, h3, h4, h5, h6, h7, h8}
hexagonos = Translate(lista4, Vector[(0, 0, 0)])
poliedro: {cuadrados, hexagonos}
kelvin = Translate(poliedro, Vector[(0, 0, 0)])
M = Midpoint(G_1, I_2)