Author: Rafael Losada Liste

X

Y

Z

8 C

6 V

Tetraedro:

Dodecaedro:

Icosaedro:

4 C

4 V

8 V

12 C

20 V

12 A

12 A

Ejes

Cubo

Octaedro

6 C

Zoom

1

2

3

4

5

3

4

2

1

O_0 = (9.679126938055926, -8.387721384854997)
U = (1, 0)
O_r = (0, 0)
mira1 = Ellipse(O_r - (0.95, 0.0), O_r + (0.95, 0.0), 1.0)
A = Point(mira1)
mira2 = Ellipse(O_r - (0.0, 0.95), O_r + (0.0, 0.95), 1.0)
B = Point(mira2)
C: O_0 + (0.0, 0.0)
M = (0, 1)
L = 5 (slider from 1 to 5, step 0.1)
V3' = punto3d(A, B, M, O_0, O_r, 1.0, -1.0, 1.0, U, L)
V8' = punto3d(A, B, M, O_0, O_r, -1.0, -1.0, -1.0, U, L)
V1' = punto3d(A, B, M, O_0, O_r, 1.0, 1.0, -1.0, U, L)
octV6' = Midpoint(V1', V8')
octV1' = Midpoint(V1', V3')
V5' = punto3d(A, B, M, O_0, O_r, -1.0, 1.0, 1.0, U, L)
octV2' = Midpoint(V1', V5')
octV3' = Midpoint(V8', V5')
octV4' = Midpoint(V3', V8')
octV5' = Midpoint(V3', V5')
V4' = punto3d(A, B, M, O_0, O_r, 1.0, -1.0, -1.0, U, L)
V7' = punto3d(A, B, M, O_0, O_r, -1.0, -1.0, 1.0, U, L)
V6' = punto3d(A, B, M, O_0, O_r, -1.0, 1.0, -1.0, U, L)
V2' = punto3d(A, B, M, O_0, O_r, 1.0, 1.0, 1.0, U, L)
octaedroA1 = Segment(octV1', octV2')
octaedroA1' = Segment(octV1', octV2')
octaedroA10 = Segment(octV2', octV6')
octaedroA10' = Segment(octV2', octV6')
octaedroA11 = Segment(octV3', octV6')
octaedroA11' = Segment(octV3', octV6')
octaedroA12 = Segment(octV4', octV6')
octaedroA12' = Segment(octV4', octV6')
octaedroA2 = Segment(octV3', octV2')
octaedroA2' = Segment(octV3', octV2')
octaedroA3 = Segment(octV3', octV4')
octaedroA3' = Segment(octV3', octV4')
octaedroA4 = Segment(octV1', octV4')
octaedroA4' = Segment(octV1', octV4')
octaedroA5 = Segment(octV1', octV5')
octaedroA5' = Segment(octV1', octV5')
octaedroA6 = Segment(octV2', octV5')
octaedroA6' = Segment(octV2', octV5')
octaedroA7 = Segment(octV3', octV5')
octaedroA7' = Segment(octV3', octV5')
octaedroA8 = Segment(octV4', octV5')
octaedroA8' = Segment(octV4', octV5')
octaedroA9 = Segment(octV1', octV6')
octaedroA9' = Segment(octV1', octV6')
cuboA1' = Segment(V2', V1')
cuboA10' = Segment(V3', V7')
cuboA11' = Segment(V5', V6')
cuboA12' = Segment(V7', V8')
cuboA2' = Segment(V2', V3')
cuboA3' = Segment(V3', V4')
cuboA4' = Segment(V4', V1')
cuboA5' = Segment(V1', V6')
cuboA6' = Segment(V6', V8')
cuboA7' = Segment(V8', V4')
cuboA8' = Segment(V2', V5')
cuboA9' = Segment(V5', V7')
d = Circle(C, 9.5)
G = Point(d)
e = OrthogonalLine(C, xAxis)
H = Intersect(d, e, 2.0)
ang = Angle(G, C, H)
t: ang / (72.0°) - 0.5
t5 = If(t < 0.0, t + 5.0, t)
t6: -2.0 * t5 + 11.0
D = (24.10184597053289, -2.4068098206312887)
t4 = If(t < 3.0, 1.0, t - 1.0)
t1 = If(t ≥ 1.0, If[t ≥ 3.0, 4.0 - t, 1.0], t)
t32 = If(t > 2.0, 2.0, 1.0)
t2 = If(t < 1.0, 0.0, If[t > 2.0, 3.0 - t, t - 1.0])
t31 = If(t > 2.0, (t2 - 1.0) / 2.0, 0.0)
Mira1, Mira2, Mira3, Mira4 = Intersect(mira1, mira2)
θ = Angle(M, O_r, B)
botonpaso = 0.01
φ = Angle(U, O_r, A)
xx: L * sin(φ)
xy: L * (-cos(φ) * sin(θ))
xz = 0
yx: L * cos(φ)
yy: L * sin(φ) * sin(θ)
yz: L * cos(θ)
u = Vector(O_r, O_0)
Xr: (xx, xy)
Yr: (yx, yy)
Zr: (0.0, yz)
X0 = Translate(Xr, u)
Z0 = Translate(Zr, u)
Y0 = Translate(Yr, u)
v = Vector(O_0, Z0)
w = Vector(O_0, Y0)
z = Vector(O_0, X0)
c = Circle(O_0, L)
a = Line(O_0, Y0)
b = Line(O_0, yAxis)
g = Line(O_0, X0)
j = Line(Z0, O_0)
P1x = 0
P1y = 1
P1z = 1.618033988749895
P1r: (P1x * xx + P1y * yx, P1x * xy + P1y * yy + P1z * yz)
P1 = Translate(P1r, u)
k = Segment(Mira3, Mira2)
l = Segment((-1.0, 0.0), U)
m = Segment((0.0, -1.0), M)
V1 = punto3d(A, B, M, O_0, O_r, 1.0 / t6, 1.0 / t6, -1.0 / t6, U, L)
V2 = punto3d(A, B, M, O_0, O_r, 1.0 / t6, 1.0 / t6, 1.0 / t6, U, L)
V4 = punto3d(A, B, M, O_0, O_r, 1.0 / t6, -1.0 / t6, -1.0 / t6, U, L)
V5 = punto3d(A, B, M, O_0, O_r, -1.0 / t6, 1.0 / t6, 1.0 / t6, U, L)
V6 = punto3d(A, B, M, O_0, O_r, -1.0 / t6, 1.0 / t6, -1.0 / t6, U, L)
V7 = punto3d(A, B, M, O_0, O_r, -1.0 / t6, -1.0 / t6, 1.0 / t6, U, L)
V8 = punto3d(A, B, M, O_0, O_r, -1.0 / t6, -1.0 / t6, -1.0 / t6, U, L)
V3 = punto3d(A, B, M, O_0, O_r, 1.0 / t6, -1.0 / t6, 1.0 / t6, U, L)
octV1 = Midpoint(V1, V3)
octV2 = Midpoint(V1, V5)
octV3 = Midpoint(V8, V5)
octV4 = Midpoint(V3, V8)
octV5 = Midpoint(V3, V5)
octV6 = Midpoint(V1, V8)
cub1M = Midpoint(V1, V2)
cub2M = Midpoint(V3, V2)
cub4M = Midpoint(V1, V6)
cub5M = Midpoint(V7, V8)
cub1Ang = Angle(V3, cub1M, V4)
cubV2b = If(cub1Ang < 180.0°, V2, V3)
cubV1b = If(cub1Ang < 180.0°, V1, V4)
cub1, cub1v3, cub1v4, cub1v1, cub1v2 = Polygon(V3, V4, cubV1b, cubV2b)
cub3Ang = Angle(V6, cub1M, V5)
cubV2c = If(cub3Ang < 180.0°, V2, V5)
cubV1c = If(cub3Ang < 180.0°, V1, V6)
cub3, cub3v6, cub3v5, cub3v2, cub3v1 = Polygon(V6, V5, cubV2c, cubV1c)
cub5Ang = Angle(V5, cub5M, V6)
cubV5b = If(cub5Ang < 180.0°, V5, V7)
cubV6b = If(cub5Ang < 180.0°, V6, V8)
cub5, cub5v8, cub5v7, cub5v5, cub5v6 = Polygon(V8, V7, cubV5b, cubV6b)
cub6Ang = Angle(V4, cub5M, V3)
cubV7b = If(cub6Ang < 180.0°, V7, V3)
cubV8b = If(cub6Ang < 180.0°, V8, V4)
cub6, cub6v4, cub6v3, cub6v7, cub6v8 = Polygon(V4, V3, cubV7b, cubV8b)
cub2Ang = Angle(V5, cub2M, V7)
cubV3b = If(cub2Ang < 180.0°, V3, V7)
cubV2d = If(cub2Ang < 180.0°, V2, V5)
cub2, cub2v7, cub2v5, cub2v2, cub2v3 = Polygon(V7, V5, cubV2d, cubV3b)
cub4Ang = Angle(V4, cub4M, V8)
cubA1' = Segment(V2, V1)
cubA2' = Segment(V2, V3)
cubA3' = Segment(V3, V4)
cubA4' = Segment(V4, V1)
cubA5' = Segment(V1, V6)
cubA6' = Segment(V8, V6)
cubA7' = Segment(V4, V8)
cubA8' = Segment(V2, V5)
cubA9' = Segment(V5, V7)
cubA10' = Segment(V3, V7)
cubA11' = Segment(V5, V6)
cubA12' = Segment(V7, V8)
octA1' = Segment(octV1, octV2)
octA2' = Segment(octV3, octV2)
octA3' = Segment(octV3, octV4)
octA4' = Segment(octV1, octV4)
octA5' = Segment(octV1, octV5)
octA6' = Segment(octV2, octV5)
octA7' = Segment(octV3, octV5)
octA8' = Segment(octV4, octV5)
octA9' = Segment(octV1, octV6)
octA10' = Segment(octV2, octV6)
octA11' = Segment(octV3, octV6)
octA12' = Segment(octV4, octV6)
octA1 = Segment(octV1, octV2)
octA2 = Segment(octV3, octV2)
octA3 = Segment(octV3, octV4)
octA4 = Segment(octV1, octV4)
octA5 = Segment(octV1, octV5)
octA6 = Segment(octV2, octV5)
octA7 = Segment(octV3, octV5)
octA8 = Segment(octV4, octV5)
octA9 = Segment(octV1, octV6)
octA10 = Segment(octV2, octV6)
octA11 = Segment(octV3, octV6)
octA12 = Segment(octV4, octV6)
cubA1 = Segment(V1, V2)
cubA2 = Segment(V2, V3)
cubA3 = Segment(V3, V4)
cubA4 = Segment(V4, V1)
cubA5 = Segment(V1, V6)
cubA6 = Segment(V6, V8)
cubA7 = Segment(V8, V4)
cubA8 = Segment(V2, V5)
cubA9 = Segment(V5, V7)
cubA10 = Segment(V7, V3)
cubA11 = Segment(V6, V5)
cubA12 = Segment(V7, V8)
cubV1d = If(cub4Ang < 180.0°, V1, V4)
cubV6c = If(cub4Ang < 180.0°, V6, V8)
cub4, cub4v8, cub4v4, cub4v1, cub4v6 = Polygon(V8, V4, cubV1d, cubV6c)
oct1Ang = Angle(octV2, octV1, octV5)
octV1b = If(oct1Ang < 180.0°, octV1, octV2)
oct2Ang = Angle(octV3, octV2, octV5)
octV2b = If(oct2Ang < 180.0°, octV2, octV3)
oct3Ang = Angle(octV4, octV3, octV5)
octV3b = If(oct3Ang < 180.0°, octV3, octV4)
oct4Ang = Angle(octV1, octV4, octV5)
octV4b = If(oct4Ang < 180.0°, octV4, octV1)
oct5Ang = Angle(octV6, octV1, octV2)
octV1c = If(oct5Ang < 180.0°, octV1, octV2)
oct6Ang = Angle(octV3, octV6, octV2)
octV6b = If(oct6Ang < 180.0°, octV6, octV3)
oct7Ang = Angle(octV6, octV3, octV4)
octV3c = If(oct7Ang < 180.0°, octV3, octV4)
oct8Ang = Angle(octV6, octV4, octV1)
octV4c = If(oct8Ang < 180.0°, octV4, octV1)
oct1, oct1v5, oct1v1, oct1v2 = Polygon(octV1b, octV2, octV5)
oct2, oct2v5, oct2v2, oct2v3 = Polygon(octV2b, octV3, octV5)
oct3, oct3v5, oct3v3, oct3v4 = Polygon(octV3b, octV4, octV5)
oct4, oct4v5, oct4v4, oct4v1 = Polygon(octV4b, octV1, octV5)
oct5, oct5v6, oct5v1, oct5v2 = Polygon(octV1c, octV2, octV6)
oct6, oct6v3, oct6v6, oct6v2 = Polygon(octV6b, octV2, octV3)
oct7, oct7v6, oct7v3, oct7v4 = Polygon(octV3c, octV4, octV6)
oct8, oct8v6, oct8v4, oct8v1 = Polygon(octV4c, octV1, octV6)
carasOcta = false
verticesOcta = false
carasTetra = false
verticesTetra = false
verticesCubo = false
carasDod = false
verticesDod = false
aristasOcta = false
aristasCubo = false
verEjes = false
verCubo = true
verOctaedro = false
verA15: t1 ≟ 1.0 ∧ t2 < 1.0 ∧ t < 3.0
Ma2 = Midpoint(V3', V2')
Ma4 = Midpoint(V4', V1')
Ma5 = Midpoint(V1', V6')
Ma9 = Midpoint(V7', V5')
Ma7 = Midpoint(V4', V8')
Ma6 = Midpoint(V8', V6')
Ma8 = Midpoint(V2', V5')
T01b = punto3d(A, B, M, O_0, O_r, (1.0 - t1) / t4, -1.0 / t4, 1.0 / t4, U, L)
T01c = punto3d(A, B, M, O_0, O_r, 1.0 / t4, -1.0 / t4, (1.0 - t1) / t4, U, L)
T01a = punto3d(A, B, M, O_0, O_r, 1.0 / t4, (-1.0 + t1) / t4, 1.0 / t4, U, L)
poly1, A0110', A0113', A0109' = Polygon(T01c, T01a, T01b)
T02a = punto3d(A, B, M, O_0, O_r, (1.0 - t1) / t4, -1.0 / t4, -1.0 / t4, U, L)
T02b = punto3d(A, B, M, O_0, O_r, 1.0 / t4, (-1.0 + t1) / t4, -1.0 / t4, U, L)
T02c = punto3d(A, B, M, O_0, O_r, 1.0 / t4, -1.0 / t4, (-1.0 + t1) / t4, U, L)
poly2, A0210', A0214', A0209' = Polygon(T02c, T02b, T02a)
T03c = punto3d(A, B, M, O_0, O_r, 1.0 / t4, 1.0 / t4, (-1.0 + t1) / t4, U, L)
T03b = punto3d(A, B, M, O_0, O_r, 1.0 / t4, (1.0 - t1) / t4, -1.0 / t4, U, L)
T03a = punto3d(A, B, M, O_0, O_r, (1.0 - t1) / t4, 1.0 / t4, -1.0 / t4, U, L)
poly3, A0310', A0312', A0314' = Polygon(T03b, T03c, T03a)
T04a = punto3d(A, B, M, O_0, O_r, (-1.0 + t1) / t4, 1.0 / t4, -1.0 / t4, U, L)
T04b = punto3d(A, B, M, O_0, O_r, -1.0 / t4, (1.0 - t1) / t4, -1.0 / t4, U, L)
T04c = punto3d(A, B, M, O_0, O_r, -1.0 / t4, 1.0 / t4, (-1.0 + t1) / t4, U, L)
poly4, A0411', A0412', A0414' = Polygon(T04b, T04c, T04a)
T05a = punto3d(A, B, M, O_0, O_r, (-1.0 + t1) / t4, 1.0 / t4, 1.0 / t4, U, L)
T05b = punto3d(A, B, M, O_0, O_r, -1.0 / t4, (1.0 - t1) / t4, 1.0 / t4, U, L)
T05c = punto3d(A, B, M, O_0, O_r, -1.0 / t4, 1.0 / t4, (1.0 - t1) / t4, U, L)
poly5, A0513', A0512', A0511' = Polygon(T05b, T05a, T05c)
T06c = punto3d(A, B, M, O_0, O_r, 1.0 / t4, 1.0 / t4, (1.0 - t1) / t4, U, L)
T06b = punto3d(A, B, M, O_0, O_r, 1.0 / t4, (1.0 - t1) / t4, 1.0 / t4, U, L)
T06a = punto3d(A, B, M, O_0, O_r, (1.0 - t1) / t4, 1.0 / t4, 1.0 / t4, U, L)
poly6, A0610', A0612', A0613' = Polygon(T06b, T06c, T06a)
T07a = punto3d(A, B, M, O_0, O_r, (-1.0 + t1) / t4, -1.0 / t4, -1.0 / t4, U, L)
T07b = punto3d(A, B, M, O_0, O_r, -1.0 / t4, (-1.0 + t1) / t4, -1.0 / t4, U, L)
T07c = punto3d(A, B, M, O_0, O_r, -1.0 / t4, -1.0 / t4, (-1.0 + t1) / t4, U, L)
poly7, A0709', A0714', A0711' = Polygon(T07c, T07a, T07b)
T08c = punto3d(A, B, M, O_0, O_r, -1.0 / t4, -1.0 / t4, (1.0 - t1) / t4, U, L)
T08b = punto3d(A, B, M, O_0, O_r, -1.0 / t4, (-1.0 + t1) / t4, 1.0 / t4, U, L)
T08a = punto3d(A, B, M, O_0, O_r, (-1.0 + t1) / t4, -1.0 / t4, 1.0 / t4, U, L)
poly8, A0813', A0811', A0809' = Polygon(T08a, T08b, T08c)
poly14, A0914', A0214, A1014', A0314, A1214', A0414, A1114', A0714 = Polygon(T07a, T02a, T02b, T03b, T03a, T04a, T04b, T07b)
M10: (T01a + T06b + T06c + T03c + T03b + T02b + T02c + T01c) / 8.0
M09: (T01b + T08a + T08c + T07c + T07a + T02a + T02c + T01c) / 8.0
M11: (T08b + T05b + T05c + T04c + T04b + T07b + T07c + T08c) / 8.0
M12: (T06a + T05a + T05c + T04c + T04a + T03a + T03c + T06c) / 8.0
M13: (T08a + T08b + T05b + T05a + T06a + T06b + T01a + T01b) / 8.0
M14: (T02a + T07a + T07b + T04b + T04a + T03a + T03b + T02b) / 8.0
angM10 = Angle(T06c, M10, T06b)
angM12 = Angle(T05c, M12, T05a)
angM13 = Angle(T05a, M13, T05b)
angM01 = Angle(T01a, T01c, T01b)
angM02 = Angle(T02a, T02c, T02b)
angM03 = Angle(T03a, T03b, T03c)
angM04 = Angle(T04b, T04a, T04c)
angM05 = Angle(T05c, T05a, T05b)
angM06 = Angle(T06a, T06c, T06b)
angM07 = Angle(T07c, T07a, T07b)
angM08 = Angle(T08b, T08a, T08c)
angM09 = Angle(T08a, M09, T08c)
angM11 = Angle(T05b, M11, T05c)
angM14 = Angle(T04b, M14, T04a)
Q01a = punto3d(A, B, M, O_0, O_r, 0.0, (-1.0 + t2) / t32, 1.0 + t31, U, L)
Q01b = punto3d(A, B, M, O_0, O_r, 0.0, -1.0 - t31, (1.0 - t2) / t32, U, L)
Q02a = punto3d(A, B, M, O_0, O_r, (-1.0 + t2) / t32, 0.0, 1.0 + t31, U, L)
Q02b = punto3d(A, B, M, O_0, O_r, -1.0 - t31, 0.0, (1.0 - t2) / t32, U, L)
Q03a = punto3d(A, B, M, O_0, O_r, 0.0, (1.0 - t2) / t32, 1.0 + t31, U, L)
Q03b = punto3d(A, B, M, O_0, O_r, 0.0, 1.0 + t31, (1.0 - t2) / t32, U, L)
Q04a = punto3d(A, B, M, O_0, O_r, (1.0 - t2) / t32, 0.0, 1.0 + t31, U, L)
Q04b = punto3d(A, B, M, O_0, O_r, 1.0 + t31, 0.0, (1.0 - t2) / t32, U, L)
Q05a = punto3d(A, B, M, O_0, O_r, (1.0 - t2) / t32, -1.0 - t31, 0.0, U, L)
Q05b = punto3d(A, B, M, O_0, O_r, 1.0 + t31, (-1.0 + t2) / t32, 0.0, U, L)
Q06a = punto3d(A, B, M, O_0, O_r, (-1.0 + t2) / t32, -1.0 - t31, 0.0, U, L)
Q06b = punto3d(A, B, M, O_0, O_r, -1.0 - t31, (-1.0 + t2) / t32, 0.0, U, L)
Q07a = punto3d(A, B, M, O_0, O_r, -1.0 - t31, (1.0 - t2) / t32, 0.0, U, L)
Q07b = punto3d(A, B, M, O_0, O_r, (-1.0 + t2) / t32, 1.0 + t31, 0.0, U, L)
Q08a = punto3d(A, B, M, O_0, O_r, (1.0 - t2) / t32, 1.0 + t31, 0.0, U, L)
Q08b = punto3d(A, B, M, O_0, O_r, 1.0 + t31, (1.0 - t2) / t32, 0.0, U, L)
Q09a = punto3d(A, B, M, O_0, O_r, 0.0, -1.0 - t31, (-1.0 + t2) / t32, U, L)
Q09b = punto3d(A, B, M, O_0, O_r, 0.0, (-1.0 + t2) / t32, -1.0 - t31, U, L)
Q10a = punto3d(A, B, M, O_0, O_r, -1.0 - t31, 0.0, (-1.0 + t2) / t32, U, L)
Q11a = punto3d(A, B, M, O_0, O_r, 0.0, 1.0 + t31, (-1.0 + t2) / t32, U, L)
Q11b = punto3d(A, B, M, O_0, O_r, 0.0, (1.0 - t2) / t32, -1.0 - t31, U, L)
Q10b = punto3d(A, B, M, O_0, O_r, (-1.0 + t2) / t32, 0.0, -1.0 - t31, U, L)
Q12a = punto3d(A, B, M, O_0, O_r, 1.0 + t31, 0.0, (-1.0 + t2) / t32, U, L)
Q12b = punto3d(A, B, M, O_0, O_r, (1.0 - t2) / t32, 0.0, -1.0 - t31, U, L)
M15: (Q01a + Q02a + Q03a + Q04a) / 4.0
M16: (Q01b + Q06a + Q09a + Q05a) / 4.0
M17: (Q04b + Q08b + Q12a + Q05b) / 4.0
M18: (Q02b + Q07a + Q10a + Q06b) / 4.0
M19: (Q07b + Q11a + Q08a + Q03b) / 4.0
M20: (Q09b + Q10b + Q11b + Q12b) / 4.0
M21: (Q04a + Q03a + Q03b + Q08a + Q08b + Q04b) / 6.0
M22: (Q01a + Q04a + Q04b + Q05b + Q05a + Q01b) / 6.0
M23: (Q02a + Q02b + Q07a + Q07b + Q03b + Q03a) / 6.0
M24: (Q07a + Q07b + Q11a + Q11b + Q10b + Q10a) / 6.0
M25: (Q08b + Q08a + Q11a + Q11b + Q12b + Q12a) / 6.0
M26: (Q01a + Q02a + Q02b + Q06b + Q06a + Q01b) / 6.0
M27: (Q06a + Q06b + Q10a + Q10b + Q09b + Q09a) / 6.0
M28: (Q05a + Q09a + Q09b + Q12b + Q12a + Q05b) / 6.0
angM15 = Angle(Q03a, M15, Q02a)
angM16 = Angle(Q06a, M16, Q09a)
angM17 = Angle(Q12a, M17, Q08b)
angM18 = Angle(Q02b, M18, Q07a)
angM19 = Angle(Q11a, M19, Q07b)
angM20 = Angle(Q10b, M20, Q11b)
angM21 = Angle(Q08a, M21, Q03b)
angM22 = Angle(Q04b, M22, Q04a)
angM23 = Angle(Q07a, M23, Q02b)
angM24 = Angle(Q07b, M24, Q11a)
angM25 = Angle(Q11a, M25, Q08a)
angM26 = Angle(Q02b, M26, Q06b)
angM27 = Angle(Q06b, M27, Q10a)
angM28 = Angle(Q09a, M28, Q09b)
poly15, A1522, A1521, A1523, A1526 = Polygon(Q01a, Q04a, Q03a, Q02a)
poly16, A1626, A1627, A1628, A1622 = Polygon(Q01b, Q06a, Q09a, Q05a)
poly17, A1721, A1722, A1728, A1725 = Polygon(Q08b, Q04b, Q05b, Q12a)
poly18, A1826, A1823, A1824, A1827 = Polygon(Q06b, Q02b, Q07a, Q10a)
poly19, A1923, A1921, A1925, A1924 = Polygon(Q07b, Q03b, Q08a, Q11a)
poly20, A2024, A2025, A2028, A2027 = Polygon(Q10b, Q11b, Q12b, Q09b)
poly21, A1521', A2123, A1921', A2125, A1721', A2122 = Polygon(Q04a, Q03a, Q03b, Q08a, Q08b, Q04b)
poly22, A2226, A1522', A2122', A1722', A2228, A1622' = Polygon(Q01b, Q01a, Q04a, Q04b, Q05b, Q05a)
poly23, A1823', A2324, A1923', A2123', A1523', A2326 = Polygon(Q02b, Q07a, Q07b, Q03b, Q03a, Q02a)
poly24, A2324', A1824', A2427, A2024', A2425, A1924' = Polygon(Q07b, Q07a, Q10a, Q10b, Q11b, Q11a)
poly25, A2125', A1925', A2425', A2025', A2528, A1725' = Polygon(Q08b, Q08a, Q11a, Q11b, Q12b, Q12a)
poly26, A1526', A2326', A1826', A2627, A1626', A2226' = Polygon(Q01a, Q02a, Q02b, Q06b, Q06a, Q01b)
poly27, A2627', A1827', A2427', A2027', A2728, A1627' = Polygon(Q06a, Q06b, Q10a, Q10b, Q09b, Q09a)
poly28, A1628', A2728', A2028', A2528', A1728', A2228' = Polygon(Q05a, Q09a, Q09b, Q12b, Q12a, Q05b)
poly9, A0809, A0911, A0709, A0914, A0209, A0910, A0109, A0913' = Polygon(T08a, T08c, T07c, T07a, T02a, T02c, T01c, T01b)
poly10, A0210, A1014, A0310, A1012, A0610, A1013', A0110, A0910' = Polygon(T02c, T02b, T03b, T03c, T06c, T06b, T01a, T01c)
poly11, A0811, A0911', A0711, A1114, A0411, A1112, A0511, A1113' = Polygon(T08b, T08c, T07c, T07b, T04b, T04c, T05c, T05b)
poly12, A1213', A0612, A1012', A0312, A1214, A0412, A1112', A0512 = Polygon(T05a, T06a, T06c, T03c, T03a, T04a, T04c, T05c)
poly13, A0913, A0113, A1013, A0613, A1213, A0513, A1113, A0813 = Polygon(T08a, T01b, T01a, T06b, T06a, T05a, T05b, T08b)
cuboA1 = Segment(V1', V2')
cuboA2 = Segment(V2', V3')
cuboA3 = Segment(V3', V4')
cuboA4 = Segment(V4', V1')
cuboA5 = Segment(V1', V6')
cuboA6 = Segment(V6', V8')
cuboA7 = Segment(V8', V4')
cuboA8 = Segment(V2', V5')
cuboA9 = Segment(V5', V7')
cuboA10 = Segment(V7', V3')
cuboA11 = Segment(V6', V5')
cuboA12 = Segment(V7', V8')
verOcta: t2 ≟ 1.0 ∨ aristasOcta
verA1: t1 < 1.0 ∧ t1 > 0.0 ∨ t ≟ 3.0
carasCubo = false
verCubo_1: t ≟ 0.0 ∨ t5 ≥ 4.0
E = Intersect(d, e, 2.0)
F = Intersect(d, e, 1.0)
I = Rotate(H, 324.0*°, C)
α = Angle(I, C, H)
J = Rotate(H, 252.0*°, C)
β = Angle(J, C, H)
N = Rotate(H, 36.0*°, C)
K = Rotate(H, 108.0*°, C)
γ = Angle(H, C, K)
δ = Angle(H, C, N)
O = Rotate(H, 216.0*°, C)
ε = Angle(O, C, H)
P = Rotate(H, 132.0*°, C)
ζ = Angle(P, C, H)
Q = Rotate(H, 77.99999999999999*°, C)
η = Angle(Q, C, H)
R = Rotate(H, 282.0*°, C)
ι = Angle(R, C, H)
h = OrthogonalLine(C, yAxis)
f = CircleArc(C, N, I)
p = CircleArc(C, I, N)
Ma1 = Midpoint(V2', V1')
Ma10 = Midpoint(V3', V7')
Ma11 = Midpoint(V6', V5')
Ma12 = Midpoint(V7', V8')
Ma3 = Midpoint(V3', V4')
CuboM1: (V3' + V7' + V5' + V2') / 4.0
CuboM2: (V3' + V2' + V1' + V4') / 4.0
CuboM3: (V2' + V5' + V6' + V1') / 4.0
angCuboM1 = Angle(V5', CuboM1, V7')
angCuboM2 = Angle(V1', CuboM2, V2')
angCuboM3 = Angle(V6', CuboM3, V5')
CuboM4: (V7' + V3' + V4' + V8') / 4.0
CuboM5: (V7' + V5' + V6' + V8') / 4.0
CuboM6: (V8' + V6' + V1' + V4') / 4.0
angCuboM4 = Angle(V7', CuboM4, V8')
angCuboM5 = Angle(V5', CuboM5, V6')
angCuboM6 = Angle(V6', CuboM6, V1')
angOcta1 = Angle(octV1', octV4', octV5')
angOcta2 = Angle(octV2', octV1', octV5')
angOcta3 = Angle(octV3', octV2', octV5')
angOcta4 = Angle(octV4', octV3', octV5')
angOcta5 = Angle(octV1', octV6', octV4')
angOcta6 = Angle(octV2', octV6', octV1')
angOcta7 = Angle(octV3', octV6', octV2')
angOcta8 = Angle(octV4', octV6', octV3')
MOct1: (octV5' + octV4' + octV1') / 3.0
MOct2: (octV5' + octV1' + octV2') / 3.0
MOct3: (octV5' + octV2' + octV3') / 3.0
MOct4: (octV4' + octV5' + octV3') / 3.0
MOct5: (octV4' + octV1' + octV6') / 3.0
MOct6: (octV1' + octV2' + octV6') / 3.0
MOct7: (octV2' + octV3' + octV6') / 3.0
MOct8: (octV4' + octV3' + octV6') / 3.0
A1013b = Segment(T01a, T06b)
A0913b = Segment(T08a, T01b)
A0911b = Segment(T08c, T07c)
A0910b = Segment(T02c, T01c)
A0914b = Segment(T07a, T02a)
A1012b = Segment(T03c, T06c)
A1014b = Segment(T02b, T03b)
A1112b = Segment(T04c, T05c)
A1113b = Segment(T05b, T08b)
A1114b = Segment(T07b, T04b)
A1213b = Segment(T06a, T05a)
A1214b = Segment(T03a, T04a)

Tool: punto3d
clic en A, B, M, O, Or, las 3 coords,U y escala (teclear "e")
Input: A, B, M, O, O_r, P1_x, P1_y, P1_z, U, escala
Output: P1

c = Circle(O_r, 1.0)
d = Circle(O_r, 0.5)
θ = Angle(M, O_r, B)
φ = Angle(U, O_r, A)
y_z: escala * cos(θ)
u = Vector(O_r, O)
x_x: escala * sin(φ)
x_y: escala * (-cos(φ) * sin(θ))
y_x: escala * cos(φ)
y_y: escala * sin(φ) * sin(θ)
P1_r: (P1_x * x_x + P1_y * y_x, P1_x * x_y + P1_y * y_y + P1_z * y_z)
P1 = Translate(P1_r, u)