Octaedro truncado

Cortamos los seis vértices del octaedro con planos perpendiculares a las diagonales espaciales.
Casos particulares: cuboctaedro, cubo truncado y sólido de Kelvin.

Arista

Radio

Sólido de Kelvin

Cuboctaeedro

Animación

Detener la animación en:

Octaedro

RA = 1 (slider from 0 to 1, step 1)
p = 1.1755705045849463
t_1 = 1.7320508075688772
c = 1.4142135623730951
n = 3 (slider from 3 to 5, step 1)
L = 4 (slider from 1 to 5, step 0.1)
ar = If(n ≟ 3, L / t_1, If[n ≟ 4, L / c, If[n ≟ 5, L / p]])
des = If(RA ≟ 0, L, If[RA ≟ 1, ar])
O: (0, 0, 0)
ci = Circle(O, des, xOyPlane)
A = Point(ci)
A' = Rotate(A, (360 * ° / n), O)
A'' = Rotate(A', (360 * ° / n), O)
v = 0.3 (slider from -1 to 1, step 0.1)
b = Distance(A, A')
arista = Distance(A, A')
radio = Distance(O, A'')
P06, B, C, D, cara1, cara2, cara3, cara4, cara5, cara6, cara7, cara8, arista1, arista2, arista3, arista4, arista5, arista6, arista7, arista8, arista9, arista10, arista11, arista12 = Octahedron(A, A', A'')
px: 0.828
t = 0.25 (slider from 0 to 0.25, step 0.001)
h = Segment((2.781334353561858, -0.5139836706517427, 0), (0.5139836706517426, 2.781334353561858, 3.9999999999999996))
i = Segment((2.781334353561858, -0.5139836706517427, 3.9999999999999996), A)
m = Segment(A, A'')
r = Segment(A', (0.5139836706517426, 2.781334353561858, 3.9999999999999996))
q = Segment((-2.781334353561858, 0.5139836706517427, 3.9999999999999996), A'')
distanciaAO = Distance(A, O)
TextoAO: Name[A] + (Name[O]) + " = " + distanciaAO
w = 0 (slider from 0 to 2, step 0.1)
l1 = 0 (slider from 0 to 1, step 1)
P: A + (t * (C - A))
f = Segment(A, C)
E = Midpoint(f)
a = OrthogonalPlane(P, f)
d = Sphere(E, P)
g = Segment(B, A'')
F, G = Intersect(g, d)
H = Intersect(arista8, f)
j = Segment(D, A')
K, M = Intersect(j, d)
N = Intersect(arista7, f)
Q, R = Intersect(f, d)
I = Intersect(arista4, a)
J = Intersect(arista6, a)
S = Intersect(arista2, a)
T = Intersect(arista1, a)
e = OrthogonalPlane(R, f)
k = OrthogonalPlane(G, g)
U = Intersect(arista5, k)
V = Intersect(arista11, k)
W = Intersect(arista3, k)
Z = Intersect(arista1, k)
A_1 = Intersect(arista12, e)
B_1 = Intersect(arista2, e)
C_1 = Intersect(arista11, e)
D_1 = Intersect(arista9, e)
E_1 = Intersect(arista10, e)
l = OrthogonalPlane(F, g)
F_1 = Intersect(arista7, l)
G_1 = Intersect(arista10, l)
H_1 = Intersect(arista8, l)
I_1 = Intersect(arista6, l)
o = OrthogonalPlane(K, j)
J_1 = Intersect(arista12, o)
K_1 = Intersect(arista7, arista4)
L_1 = Intersect(arista4, o)
M_1 = Intersect(arista5, o)
N_1 = Intersect(arista7, f)
O_1 = Intersect(arista7, o)
s = OrthogonalPlane(M, j)
P_1 = Intersect(arista9, s)
Q_1 = Intersect(arista3, s)
R_1 = Intersect(arista2, s)
S_1 = Intersect(arista8, s)
polígono1, s_1, p_1, d_1, e_1, g_1, h_1 = Polygon(S_1, P_1, D_1, E_1, G_1, H_1)
polígono2, i_1, h_2, s_2, r_1, s_3, j_1 = Polygon(I_1, H_1, S_1, R_1, S, J)
polígono3, g_2, e_2, a_1, j_2, o_1, f_1 = Polygon(G_1, E_1, A_1, J_1, O_1, F_1)
polígono4, q_1, p_2, d_2, c_1, v_1, w_1 = Polygon(Q_1, P_1, D_1, C_1, V, W)
polígono5, c_2, a_2, j_3, m_1, u, v_2 = Polygon(C_1, A_1, J_1, M_1, U, V)
polígono6, u_1, m_2, l_1, i_2, t_2, z_1 = Polygon(U, M_1, L_1, I, T, Z)
polígono7, i_3, j_4, i_4, f_2, o_2, l_2 = Polygon(I, J, I_1, F_1, O_1, L_1)
polígono8, z_2, w_2, q_2, r_2, s_4, t_3 = Polygon(Z, W, Q_1, R_1, S, T)
c1, m_3, l_3, o_3, j_5 = Polygon(M_1, L_1, O_1, J_1)
c2, f_3, i_5, h_3, g_3 = Polygon(F_1, I_1, H_1, G_1)
c3, c_3, a_3, e_3, d_3 = Polygon(C_1, A_1, E_1, D_1)
c4, t_4, s_5, j_6, i_6 = Polygon(T, S, J, I)
c5, w_3, z_3, u_2, v_3 = Polygon(W, Z, U, V)
c6, r_3, q_3, p_3, s_6 = Polygon(R_1, Q_1, P_1, S_1)
d1 = Distance(U, V)
d2 = Distance(Z, T)
nada = 4.8 (slider from -5 to 5, step 0.1)
texto5: "Arista del octaedro " + L + ""
v10: (10 * v)
texto1: "Velocidad de giro " + v10 + ""
w5: (5 * w)
texto3: "Veloc. cortes " + w5 + ""