0

1

2

Ver árbol

ec

ecccc

ceec

cece

N = 10 (slider from 1 to 10, step 1)
alto: y(Corner[4]) - y(Corner[1])
v3: (0, (alto - 1) / N / N / N)
v1: (0, (alto - 1) / N)
v2: (0, (alto - 1) / N / N)
P: (Corner[1] + Corner[4]) / 2 + (0.5, 0)
ancho: x(Corner[2]) - x(Corner[1])
PP: P + (ancho / 3 - 0.5, 0)
Punto11: PP + (0, ((1 - N) / 2 * (alto - 1) / N))
Punto21: Punto11 + (ancho / 3 - 0.5, ((1 - N) / 2 * (alto - 1) / N / N))
Punto31: Punto21 + (ancho / 3 - 0.5, ((1 - N) / 2 * (alto - 1) / N / N / N))
P_4 = (2.8330211555696247, -1.5292584511891094)
A = (0.92, -0.08)
des_1 = 1 (slider from 0 to 1, step 0.01)
P_3 = (-0.14332993084508538, 1.3723530762762153)
P_2 = (2.06429919816097, -0.44135764152451695)
P_1 = (0.92, -0.6799999999999999)
A10:10
RUEDAS = 3 (slider from 2 to 4, step 1)
r3:1.8
A': A + (0.1, 0.1)
d3 = Circle(A', r3 + 0.25)
B = Point(d3)
A1:1
r1 = 0.6 (slider from 0.5 to 5, step 0.1)
C: A + (0, 1)
C' = Rotate(C, 10°, A)
c1 = Circle(A, r1)
B_1 = Point(c1)
B1 = Rotate(B_1, (((A1 - 0.5) * 2) * π / N), A)
A2:2
A3: (2 * A2) - A1
A4: (2 * A3) - A2
A5: (2 * A4) - A3
A6: (2 * A5) - A4
A7: (2 * A6) - A5
A8: (2 * A7) - A6
A9: (2 * A8) - A7
d1 = Circle(A', r1 + 0.25)
α1 = Angle(B1, A, C')
B11: (α1 - π / 18) / ((2 * π / N)) + 1
B12:0.2
D1 = If(abs(B$11 - A1)  <  B$12, C1, "")
D2 = If(abs(B$11 - A2)  <  B$12, C2, "")
C3: "" + A3
D3 = If(abs(B$11 - A3)  <  B$12, C3, "")
C4: "" + A4
D4 = If(abs(B$11 - A4)  <  B$12, C4, "")
C5: "" + A5
D5 = If(abs(B$11 - A5)  <  B$12, C5, "")
C6: "" + A6
D6 = If(abs(B$11 - A6)  <  B$12, C6, "")
C7: "" + A7
D7 = If(abs(B$11 - A7)  <  B$12, C7, "")
C8: "" + A8
D8 = If(abs(B$11 - A8)  <  B$12, C8, "")
C9: "" + A9
D9 = If(abs(B$11 - A9)  <  B$12, C9, "")
A14:1
A15:2
A16: (2 * A15) - A14
A17: (2 * A16) - A15
A18: (2 * A17) - A16
A19: (2 * A18) - A17
A20: (2 * A19) - A18
A21: (2 * A20) - A19
A22: (2 * A21) - A20
A23:10
r2 = 1.2 (slider from -5 to 5, step 0.05)
c2 = Circle(A, r2)
B_2 = Point(c2)
B14 = Rotate(B_2, (((A14 - 0.5) * 2) * π / N), A)
C15: "" + C2
C16: "" + C3
C17: "" + C4
C18: "" + C5
C19: "" + C6
C20: "" + C7
C21: "" + C8
C22: "" + C9
C14: "" + C1
d2 = Circle(A', r2 + 0.25)
α2 = Angle(B14, A, C')
B24: (α2 - π / 18) / ((2 * π / N)) + 1
B25:0.25
D14 = If(abs(B$24 - A14)  <  B$25, C14, "")
D15 = If(abs(B$24 - A15)  <  B$25, C15, "")
D16 = If(abs(B$24 - A16)  <  B$25, C16, "")
D17 = If(abs(B$24 - A17)  <  B$25, C17, "")
D18 = If(abs(B$24 - A18)  <  B$25, C18, "")
D19 = If(abs(B$24 - A19)  <  B$25, C19, "")
D20 = If(abs(B$24 - A20)  <  B$25, C20, "")
D21 = If(abs(B$24 - A21)  <  B$25, C21, "")
D22 = If(abs(B$24 - A22)  <  B$25, C22, "")
C23: "" + C10
D23 = If(abs(B$24 - A23)  <  B$25, C23, "")
D24: "" + (D14 + D15 + D16 + D17 + D18 + D19 + D20 + D21 + D22 + D23) + ""
c3 = Circle(A, r3)
A27:1
A28:2
A29: (2 * A28) - A27
A30: (2 * A29) - A28
A31: (2 * A30) - A29
A32: (2 * A31) - A30
A33: (2 * A32) - A31
A34: (2 * A33) - A32
A35: (2 * A34) - A33
A36: (2 * A35) - A34
B_3 = Point(c3)
B27 = Rotate(B_3, (((A27 - 0.5) * 2) * π / N), A)
C27: C1
C29: C3
C30: C4
C31: C5
C32: C6
C33: C7
C34: C8
C35: C9
C28: C2
α3 = Angle(B27, A, C')
B37: (α3 - π / 18) / ((2 * π / N)) + 1
B38:0.3
a = Ray(A', B)
b: x = x(A')
D = Intersect(d2, a, 1)
E = Intersect(d1, a, 1)
B' = Mirror(B, b)
D' = Mirror(D, b)
E' = Mirror(E, b)
s1 = Sector(d1, E, E')
s2 = Sector(d2, D, D')
s3 = Sector(d3, B, B')
r4:2.4
c4 = Circle(A, r4)
A40:1
A41:2
A42: (2 * A41) - A40
A43: (2 * A42) - A41
A44: (2 * A43) - A42
A45: (2 * A44) - A43
A46: (2 * A45) - A44
A47: (2 * A46) - A45
A48: (2 * A47) - A46
A49: (2 * A48) - A47
B_4 = Point(c4)
B40 = Rotate(B_4, (((A40 - 0.5) * 2) * π / N), A)
C40: C1
C41: C2
C43: C4
C44: C5
C45: C6
C46: C7
C47: C8
C48: C9
C42: C3
d4 = Circle(A', r4 + 0.25)
F = Intersect(d4, a, 1)
F' = Mirror(F, b)
s4 = Sector(d4, F, F')
α4 = Angle(B40, A, C')
B50: (α4 - π / 18) / ((2 * π / N)) + 1
B51:0.35
D40 = If(abs(B$50 - A40)  <  B$51, C40, "")
D41 = If(abs(B$50 - A41)  <  B$51, C41, "")
D42 = If(abs(B$50 - A42)  <  B$51, C42, "")
D43 = If(abs(B$50 - A43)  <  B$51, C43, "")
D44 = If(abs(B$50 - A44)  <  B$51, C44, "")
D45 = If(abs(B$50 - A45)  <  B$51, C45, "")
D46 = If(abs(B$50 - A46)  <  B$51, C46, "")
D47 = If(abs(B$50 - A47)  <  B$51, C47, "")
D48 = If(abs(B$50 - A48)  <  B$51, C48, "")
polígonopantalla, c, d, e, f = Polygon(Corner[1], Corner[2], Corner[3], Corner[4])
PPP: PP + (ancho / 3 - 0.5, 0)
arbol:0
B2 = Rotate(B_1, (((A2 - 0.500000000000002) * 2) * π / N), A)
B3 = Rotate(B_1, (((A3 - 0.500000000000002) * 2) * π / N), A)
B4 = Rotate(B_1, (((A4 - 0.500000000000002) * 2) * π / N), A)
B5 = Rotate(B_1, (((A5 - 0.500000000000002) * 2) * π / N), A)
B6 = Rotate(B_1, (((A6 - 0.500000000000002) * 2) * π / N), A)
B7 = Rotate(B_1, (((A7 - 0.500000000000002) * 2) * π / N), A)
B8 = Rotate(B_1, (((A8 - 0.500000000000002) * 2) * π / N), A)
B9 = Rotate(B_1, (((A9 - 0.500000000000002) * 2) * π / N), A)
B10 = Rotate(B_1, (((A10 - 0.500000000000004) * 2) * π / N), A)
C36: C10
D27 = If(abs(B$37 - A27)  <  B$38, C27, "")
D28 = If(abs(B$37 - A28)  <  B$38, C28, "")
D29 = If(abs(B$37 - A29)  <  B$38, C29, "")
D30 = If(abs(B$37 - A30)  <  B$38, C30, "")
D31 = If(abs(B$37 - A31)  <  B$38, C31, "")
D32 = If(abs(B$37 - A32)  <  B$38, C32, "")
D33 = If(abs(B$37 - A33)  <  B$38, C33, "")
D34 = If(abs(B$37 - A34)  <  B$38, C34, "")
D35 = If(abs(B$37 - A35)  <  B$38, C35, "")
D36 = If(abs(B$37 - A36)  <  B$38, C36, "")
D37: "" + (D27 + D28 + D29 + D30 + D31 + D32 + D33 + D34 + D35 + D36) + ""
B15 = Rotate(B_2, (((A15 - 0.500000000000002) * 2) * π / N), A)
B16 = Rotate(B_2, (((A16 - 0.500000000000002) * 2) * π / N), A)
B17 = Rotate(B_2, (((A17 - 0.500000000000002) * 2) * π / N), A)
B18 = Rotate(B_2, (((A18 - 0.500000000000002) * 2) * π / N), A)
B20 = Rotate(B_2, (((A20 - 0.500000000000002) * 2) * π / N), A)
B21 = Rotate(B_2, (((A21 - 0.500000000000002) * 2) * π / N), A)
B22 = Rotate(B_2, (((A22 - 0.500000000000002) * 2) * π / N), A)
B23 = Rotate(B_2, (((A23 - 0.500000000000002) * 2) * π / N), A)
B19 = Rotate(B_2, (((A19 - 0.500000000000002) * 2) * π / N), A)
B28 = Rotate(B_3, (((A28 - 0.500000000000002) * 2) * π / N), A)
B29 = Rotate(B_3, (((A29 - 0.500000000000002) * 2) * π / N), A)
B30 = Rotate(B_3, (((A30 - 0.500000000000002) * 2) * π / N), A)
B32 = Rotate(B_3, (((A32 - 0.500000000000002) * 2) * π / N), A)
B33 = Rotate(B_3, (((A33 - 0.500000000000002) * 2) * π / N), A)
B34 = Rotate(B_3, (((A34 - 0.500000000000002) * 2) * π / N), A)
B35 = Rotate(B_3, (((A35 - 0.500000000000002) * 2) * π / N), A)
B36 = Rotate(B_3, (((A36 - 0.500000000000002) * 2) * π / N), A)
B31 = Rotate(B_3, (((A31 - 0.500000000000002) * 2) * π / N), A)
B41 = Rotate(B_4, (((A41 - 0.500000000000002) * 2) * π / N), A)
B42 = Rotate(B_4, (((A42 - 0.500000000000002) * 2) * π / N), A)
B43 = Rotate(B_4, (((A43 - 0.500000000000002) * 2) * π / N), A)
B44 = Rotate(B_4, (((A44 - 0.500000000000002) * 2) * π / N), A)
B45 = Rotate(B_4, (((A45 - 0.500000000000002) * 2) * π / N), A)
B47 = Rotate(B_4, (((A47 - 0.500000000000002) * 2) * π / N), A)
B48 = Rotate(B_4, (((A48 - 0.500000000000002) * 2) * π / N), A)
B49 = Rotate(B_4, (((A49 - 0.500000000000002) * 2) * π / N), A)
C49: C10
B46 = Rotate(B_4, (((A46 - 0.500000000000002) * 2) * π / N), A)
D49 = If(abs(B$50 - A49)  <  B$51, C49, "")
D50: "" + (D40 + D41 + D42 + D43 + D44 + D45 + D46 + D47 + D48 + D49) + ""
E1 = Textfield(C1)
E5 = Textfield(C5)
E4 = Textfield(C4)
E3 = Textfield(C3)
E2 = Textfield(C2)
E6 = Textfield(C6)
E7 = Textfield(C7)
E8 = Textfield(C8)
E9 = Textfield(C9)
E10 = Textfield(C10)
ss3 = If(N  <  7, Sequence[Sequence[Translate[Translate[Sequence[Segment[Punto21, Punto31 + (k * v3)], k, 0, N - 1], Vector[(j * v2)]], Vector[(i * v1)]], j, 0, N - 1], i, 0, N - 1])
ss2 = Sequence(Sequence[Translate[Segment[Punto11, Punto21 + (j * v2)], Vector[(i * v1)]], j, 0, N - 1], i, 0, N - 1)
lista1 = First(C1:C10, N)
ss1 = Sequence(Segment[P, PP + (k * v1)], k, (1 - N) / 2, N / 2)
se1 = Element(ss1, N + 1 - SelectedIndex[lista1])
lista2 = First(C1:C10, N)
lista3 = First(C1:C10, N)
se2 = Element(Element[ss2, N + 1 - SelectedIndex[lista1]], N + 1 - SelectedIndex[lista2])
se3 = Element(Element[Element[ss3, N + 1 - SelectedIndex[lista1]], N + 1 - SelectedIndex[lista2]], N + 1 - SelectedIndex[lista3])
lista4 = First(C1:C10, N)
D10 = If(abs(B$11 - A10)  <  B$12, C10, "")
D11: "" + (D1 + D2 + D3 + D4 + D5 + D6 + D7 + D8 + D9 + D10) + ""
Punto4: Punto31 + ((N - SelectedIndex[lista1]) * v1) + ((N - SelectedIndex[lista2]) * v2) + ((N - SelectedIndex[lista3]) * v3)
se4 = Segment(Punto4, Punto4 + (2, 0))