Espejo

Espejo

Rayo de luz

Rastro

Ángulos

C = (17, 8)
E_1 = (0, 0)
E_2 = (11.533333333333333, -3.2333333333333334)
E_3: (0, x(E_2) / 2)
b = OrthogonalLine(E_2, xAxis)
s = OrthogonalLine(E_3, b)
M = Mirror(E_1, s)
F_1 = Midpoint(E_1, M)
a4 = Segment(F_1, E_1)
G_1 = Mirror(F_1, M)
a = Segment(G_1, E_1)
f_2 = OrthogonalLine(E_1, a)
I = Intersect(f_2, b)
a1 = Segment(E_1, I)
C_1 = Intersect(b, s)
a2 = Segment(I, C_1)
a3 = Segment(F_1, C_1)
B = (5.76667, 1.333)
N_2: C + B / x(E_2)
A1: B
p_1 = Circle(B, 3.8)
G = Point(p_1)
G' = Mirror(G, B)
g = Ray(B, G')
B1: {Intersect[g, a1], Intersect[g, a2], Intersect[g, a3], Intersect[g, a4]}
C1 = RemoveUndefined(B1)
D1 = If(A1 ≟ Element[C1, 1], Element[C1, 2], Element[C1, 1])
Q_2: C + D1 / x(E_2)
A2: D1
E1 = If(D1 ≟ Element[B1, 1], a1, If[D1 ≟ Element[B1, 2], a2, If[D1 ≟ Element[B1, 3], a3, a4]])
F1 = Ray(D1, Vector[D1, Mirror[A1, OrthogonalLine[D1, E1]]])
B2: {Intersect[F1, a1], Intersect[F1, a2], Intersect[F1, a3], Intersect[F1, a4]}
C2 = RemoveUndefined(B2)
D2 = If(A2 ≟ Element[C2, 1], Element[C2, 2], Element[C2, 1])
E2 = If(D2 ≟ Element[B2, 1], a1, If[D2 ≟ Element[B2, 2], a2, If[D2 ≟ Element[B2, 3], a3, a4]])
F2 = Ray(D2, Vector[D2, Mirror[A2, OrthogonalLine[D2, E2]]])
B3: {Intersect[F2, a1], Intersect[F2, a2], Intersect[F2, a3], Intersect[F2, a4]}
C3 = RemoveUndefined(B3)
A3: D2
D3 = If(A3 ≟ Element[C3, 1], Element[C3, 2], Element[C3, 1])
E3 = If(D3 ≟ Element[B3, 1], a1, If[D3 ≟ Element[B3, 2], a2, If[D3 ≟ Element[B3, 3], a3, a4]])
F3 = Ray(D3, Vector[D3, Mirror[A3, OrthogonalLine[D3, E3]]])
B4: {Intersect[F3, a1], Intersect[F3, a2], Intersect[F3, a3], Intersect[F3, a4]}
C4 = RemoveUndefined(B4)
A4: D3
D4 = If(A4 ≟ Element[C4, 1], Element[C4, 2], Element[C4, 1])
d3 = Segment(D2, D3)
d2 = Segment(D1, D2)
d1 = Segment(A1, D1)
D = (3, 1.333)
A17: D
A11: D
A8: D
A14: D
Q5 = Segment(D3, D)
Q5c = Segment(D2, D)
Q5b = Segment(D1, D)
Q5a = Segment(B, D)
Q1 = Circle(D, 0.12)
Q6 = Intersect(Q1, Q5, 1)
Q2 = Polar(D3, Q1)
Q4, Q3 = Intersect(Q1, Q2)
Q7 = CircumcircleArc(Q3, Q6, Q4)
Q8 = Intersect(Q7, Segment[D3, D4])
Q6c = Intersect(Q1, Q5c, 1)
Q2c = Polar(D2, Q1)
Q3c, Q4c = Intersect(Q1, Q2c)
Q7c = CircumcircleArc(Q3c, Q6c, Q4c)
Q8c = Intersect(Q7c, Segment[D2, D3])
Q6b = Intersect(Q1, Q5b, 1)
Q2b = Polar(D1, Q1)
Q3b, Q4b = Intersect(Q1, Q2b)
Q7b = CircumcircleArc(Q3b, Q6b, Q4b)
Q8b = Intersect(Q7b, Segment[D1, D2])
Q6a = Intersect(Q1, Q5a, 1)
Q2a = Polar(B, Q1)
Q3a, Q4a = Intersect(Q1, Q2a)
Q7a = CircumcircleArc(Q3a, Q6a, Q4a)
Q8a = Intersect(Q7a, Segment[B, D1])
choque0 = If(Defined[Q8a], true, false)
choque1 = If(Defined[Q8b] ∧ (¬choque0), true, false)
choque2 = If(Defined[Q8c] ∧ (¬choque0) ∧ (¬choque1), true, false)
choque3 = If(Defined[Q8] ∧ (¬choque0) ∧ (¬choque1) ∧ (¬choque2), true, false)
DF = If(choque3, Q8, D4)
F6 = Ray(DF, D)
B8: {Intersect[F6, a1], Intersect[F6, a2], Intersect[F6, a3], Intersect[F6, a4]}
C8 = RemoveUndefined(B8)
D8 = If(A8 ≟ Element[C8, 1], Element[C8, 2], Element[C8, 1])
G6 = UnitVector(Vector[D, D8])
d6 = Segment(D, D8)
d4 = Segment(D3, DF)
sd: d1 + d2 + d3 + d4
DFc = If(choque2, Q8c, D3)
F15 = Ray(DFc, D)
B17: {Intersect[F15, a1], Intersect[F15, a2], Intersect[F15, a3], Intersect[F15, a4]}
C17 = RemoveUndefined(B17)
D17 = If(A17 ≟ Element[C17, 1], Element[C17, 2], Element[C17, 1])
d6c = Segment(D, D17)
G15 = UnitVector(Vector[DFc, D17])
d4c = Segment(D2, DFc)
DFb = If(choque1, Q8b, D2)
F12 = Ray(DFb, D)
B14: {Intersect[F12, a1], Intersect[F12, a2], Intersect[F12, a3], Intersect[F12, a4]}
C14 = RemoveUndefined(B14)
D14 = If(A14 ≟ Element[C14, 1], Element[C14, 2], Element[C14, 1])
G12 = UnitVector(Vector[DFb, D14])
d6b = Segment(D, D14)
d4b = Segment(D1, DFb)
DFa = If(choque0, Q8a, D1)
F9 = Ray(DFa, D)
B11: {Intersect[F9, a1], Intersect[F9, a2], Intersect[F9, a3], Intersect[F9, a4]}
C11 = RemoveUndefined(B11)
D11 = If(A11 ≟ Element[C11, 1], Element[C11, 2], Element[C11, 1])
G9 = UnitVector(Vector[D, D11])
d6a = Segment(D, D11)
d4a = Segment(B, DFa)
v = 3 (slider from 1 to 5, step 1)
kv: v / 5
t = 0 (slider from 0 to 200, step 0.01)
PP: A1 + (kv * (t, 0))
h = Segment(A1, PP)
G1 = UnitVector(Vector[A1, D1])
A10: Q8a
ja = Ray(B, DFa)
Da' = Mirror(D, ja)
DFFa = Mirror(DFa, ja)
F8 = Ray(DFFa, Da')
B10: {Intersect[F8, a1], Intersect[F8, a2], Intersect[F8, a3], Intersect[F8, a4]}
C10 = RemoveUndefined(B10)
D10 = If(A10 ≟ Element[C10, 1], Element[C10, 2], Element[C10, 1])
d5a = Segment(DFa, D10)
G8 = UnitVector(Vector[DFa, D10])
G2 = UnitVector(Vector[D1, D2])
A13: Q8b
jb = Ray(D1, DFb)
DFFb = Mirror(DFb, jb)
Db' = Mirror(D, jb)
F11 = Ray(DFFb, Db')
B13: {Intersect[F11, a1], Intersect[F11, a2], Intersect[F11, a3], Intersect[F11, a4]}
C13 = RemoveUndefined(B13)
D13 = If(A13 ≟ Element[C13, 1], Element[C13, 2], Element[C13, 1])
G11 = UnitVector(Vector[DFb, D13])
d5b = Segment(DFb, D13)
G3 = UnitVector(Vector[D2, D3])
A16: Q8c
jc = Ray(D2, DFc)
Dc' = Mirror(D, jc)
DFFc = Mirror(DFc, jc)
F14 = Ray(DFFc, Dc')
B16: {Intersect[F14, a1], Intersect[F14, a2], Intersect[F14, a3], Intersect[F14, a4]}
C16 = RemoveUndefined(B16)
D16 = If(A16 ≟ Element[C16, 1], Element[C16, 2], Element[C16, 1])
d5c = Segment(DFc, D16)
G14 = UnitVector(Vector[DFc, D16])
A7: DF
j = Ray(D3, DF)
D' = Mirror(D, j)
DFF = Mirror(DF, j)
F5 = Ray(DFF, D')
B7: {Intersect[F5, a1], Intersect[F5, a2], Intersect[F5, a3], Intersect[F5, a4]}
C7 = RemoveUndefined(B7)
D7 = If(A7 ≟ Element[C7, 1], Element[C7, 2], Element[C7, 1])
d5 = Segment(A7, D7)
G5 = UnitVector(Vector[DF, D7])
G4 = UnitVector(Vector[D3, DF])
E = Intersect(s, yAxis)
p = OrthogonalLine(E, s)
r = OrthogonalLine(M, p)
L = Intersect(s, g)
k = OrthogonalLine(L, s)
B' = Mirror(B, k)
DD = If(choque2, If[h - d1 - d2 > d4c, If[h - d4c - d1 - d2  <  d6c, D + ((h - d4c - d1 - d2) * G15), D + (d6c * G15)], D], If[choque1, If[h - d1 > d4b, If[h - d4b - d1  <  d6b, D + ((h - d4b - d1) * G12), D + (d6b * G12)], D], If[choque0, If[h > d4a, If[h - d4a  <  d6a, D + ((h - d4a) * G9), D + (d6a * G9)], D], If[choque3 ∧ (h ≥ sd), If[h - sd  <  d6, D + ((h - sd) * G6), D + (d6 * G6)], D]]])
D'_1 = Mirror(DD, s)
H = Mirror(D'_1, yAxis)
O = Mirror(H, r)
e = Line(D, s)
U = Mirror(O, e)
i_1 = Line(U, e)
N = Mirror(B, s)
G_2 = Mirror(N, yAxis)
F = Intersect(g, e)
F' = Mirror(F, k)
b_1 = Line(O, r)
F'' = Mirror(F', s)
d = 1
c = Circle(B, d)
taco = 3.5
ajuste = 0.03
mesa2b = Mirror(mesa, s)
mesa3a = Mirror(mesa2b, yAxis)
Y = Mirror(O, p)
mesa2a = Mirror(mesa, p)
mesa3b = Mirror(mesa2b, r)
mesa4 = Mirror(mesa3b, p)
A_1 = Intersect(r, b)
B_1 = Mirror(A_1, M)
j_1 = Segment(B_1, A_1)
D_1 = Mirror(C_1, E)
k_1 = Segment(D_1, C_1)
l_1 = Segment(B, G)
A = Intersect(c, l_1, 1)
v_1: (taco * UnitVector[Vector[B, A]])
w = UnitOrthogonalVector(v_1)
T3: A + (4 * v_1 / 5) + (ajuste * w)
T4: A - v_1 / 5 + (ajuste * w)
E4 = If(D4 ≟ Element[B4, 1], a1, If[D4 ≟ Element[B4, 2], a2, If[D4 ≟ Element[B4, 3], a3, a4]])
F4 = Ray(D4, Vector[D4, Mirror[A4, OrthogonalLine[D4, E4]]])
u = UnitVector(Vector[D3, D])
P = If(choque2, If[h  <  d1, A1 + (h * G1), If[h - d1  <  d2, D1 + ((h - d1) * G2), If[h - d1 - d2  <  d4c, D2 + ((h - d1 - d2) * G3), If[h - d1 - d2 - d4c  <  d5c, DFc + ((h - d4c - d1 - d2) * G14), DFc + (d5c * G14)]]]], If[choque1, If[h  <  d1, A1 + (h * G1), If[h - d1  <  d4b, D1 + ((h - d1) * G2), If[h - d1 - d4b  <  d5b, DFb + ((h - d4b - d1) * G11), DFb + (d5b * G11)]]], If[choque0, If[h  <  d4a, A1 + (h * G1), If[h  <  d4a + d5a, DFa + ((h - d4a) * G8), DFa + (d5a * G8)]], If[h  <  d1, A1 + (h * G1), If[h - d1  <  d2, D1 + ((h - d1) * G2), If[h - d1 - d2  <  d3, D2 + ((h - d1 - d2) * G3), If[h - sd  <  0, D3 + ((h - d1 - d2 - d3) * G4), If[choque3, If[h - sd  <  d5, DF + ((h - sd) * G5), DF + (d5 * G5)], D3 + (d4 * G4)]]]]]]])
r5 = Segment(DF, P)
r5' = Segment(DF, DD)
P'_2 = Mirror(P, k_1)
P''_1 = Mirror(P'_2, j_1)
P''' = Mirror(P''_1, a)
P'' = Mirror(P'_2, a)
P' = Mirror(P, a)
DF' = Mirror(DF, k_1)
DF'' = Mirror(DF', j_1)
DF''' = Mirror(DF'', a)
H1 = Intersect(E1, OrthogonalLine[D2, E1])
I1 = Intersect(E1, OrthogonalLine[A1, E1])
H2 = Intersect(E2, OrthogonalLine[D3, E2])
I2 = Intersect(E2, OrthogonalLine[A2, E2])
H3 = Intersect(E3, OrthogonalLine[D4, E3])
I3 = Intersect(E3, OrthogonalLine[A3, E3])
J1 = Angle(H1, D1, D2)
K1 = Angle(A1, D1, I1)
J2 = Angle(H2, D2, D3)
J3 = Angle(H3, D3, D4)
K2 = Angle(A2, D2, I2)
K3 = Angle(A3, D3, I3)
FF: B + (100 * Vector[B, G'])
r1 = Segment(B, P)
r1a = Segment(B, D1)
r2 = Segment(D1, P)
r2a = Segment(D2, D1)
r3 = Segment(D2, P)
r3a = Segment(D2, D3)
r4 = Segment(D3, P)
r4a = Segment(D3, DF)
nada = 3.8 (slider from -5 to 5, step 0.1)
D1m1a = Mirror(D1, p)
D1m1b = Mirror(D1, s)
D2m1a = Mirror(D2, p)
D2m1b = Mirror(D2, s)
m = Segment(D1m1b, D2m1b)
D3m2a = Mirror(D3, E)
D3m2b = Mirror(D3m2a, M)
D3m3 = Mirror(D3m2a, r)
D4m2a = Mirror(D4, E)
D4m3 = Mirror(D4m2a, r)
DFm2a = Mirror(DF, E)
DFm3 = Mirror(DFm2a, r)
i = Segment(D3m3, DFm3)
q = Segment(D1m1a, D2m1a)
D2m2a = Mirror(D2m1a, s)
l = Segment(D2m2a, D3m2a)
D2m2b = Mirror(D2m1b, r)
a_1 = Segment(D2m2b, D3m2b)
Bm1a = Mirror(B, p)
Bm1b = Mirror(B, s)
Bm2a = Mirror(B, E)
Bm2b = Mirror(Bm2a, M)
Bm3 = Mirror(Bm2a, r)
Z = Mirror(DD, p)
r1aa = Segment(B, DFa)
r1A = Segment(B, P)
r1Ab = Segment(P, DFa)
r5A = Segment(DFa, DD)
r1B = Segment(D1, P)
n = Segment(D1, DFb)
r1Bb = Segment(P, DFb)
r5B = Segment(DFb, DD)
c_1 = Segment(D2, P)
d_1 = Segment(D2, DFc)
e_1 = Segment(DFc, P)
f_1 = Segment(D16, DFc)
r5C = Segment(DD, DFc)
m_1 = Segment(B, DFa)
DT = If(choque3, Q8, If[choque0, Q8a, If[choque1, Q8b, If[choque2, Q8c, D4]]])
DTm1a = Mirror(DT, p)
n_1 = Segment(D1m1a, DTm1a)
DTm1b = Mirror(DT, s)
q_1 = Segment(D1m1b, DTm1b)
DTm2a = Mirror(DTm1a, s)
r_1 = Segment(D2m2a, DTm2a)
DTm2b = Mirror(DTm1b, r)
s_1 = Segment(D2m2b, DTm2b)
test1 = If(D1 ≟ Element[B1, 2] ∨ D1 ≟ Element[B1, 4], 1, 2)
test2 = If((D2 ≟ Element[B2, 1] ∨ D2 ≟ Element[B2, 3]) ∧ test1 ≟ 1 ∨ (D2 ≟ Element[B2, 2] ∨ D2 ≟ Element[B2, 4]) ∧ test1 ≟ 2, 1, 2)
o = false
z = false
f = false
g_1 = Segment(E_1, E_3)
h_1 = Segment(E_3, C_1)
J: C + (1, 0)
K: C + (0, 0.5)
Q: C + (1, 0.5)
R: C + (2, 0.5)
S: C + (3, 0.5)
T: C + (4, 0.5)
V: C + (2, 0)
W: C + (3, 0)
H_1: C + (4, 0)
I_1: C - (1, 0)
J_1: C - (2, 0)
K_1: C - (3, 0)
L_1: C - (3, -0.5)
M_1: C - (2, -0.5)
N_1: C - (1, -0.5)
O_1: C - (2, -1)
P_1: C - (1, -1)
Q_1: C - (0, -1)
R_1: C + (1, 1)
S_1: C + (2, 1)
T_1: C + (3, 1)
U_1: C + (2, 1.5)
V_1: C + (1, 1.5)
W_1: C + (0, 1.5)
Z_1: C - (1, -1.5)
A_2: C + (0, 2)
B_2: C + (1, 2)
K' = Mirror(K, C)
C_2 = Mirror(Q_1, C)
D_2 = Mirror(W_1, C)
F_2 = Mirror(N_1, C)
H_2 = Mirror(M_1, C)
I_2 = Mirror(L_1, C)
Q' = Mirror(Q, C)
R' = Mirror(R, C)
J_2 = Mirror(P_1, C)
K_2 = Mirror(O_1, C)
L_2 = Mirror(R_1, C)
M_2 = Mirror(Z_1, C)
polígono1: {Polygon[A_2, B_2, M_2, D_2]}
polígono2: {Polygon[Z_1, L_2, K_2, U_1]}
polígono3: {Polygon[O_1, R', I_2, T_1]}
polígono4: {Polygon[L_1, K_1, H_1, T]}
t_1 = Segment(C, K)
a_2 = Segment(K, Q)
b_2 = Segment(Q, J)
c_2 = Segment(J, C)
O_2: C + D / x(E_2)
e_2 = Ray(N_2, Q_2)
d_2 = Circle(C + (0.5, 0.25), 3.5)
P_2 = Intersect(d_2, e_2, 1)
g_2 = Segment(N_2, P_2)
h_2 = Circle(C + (0.5, 0.25), 3.5)
R_2: C + O / x(E_2)
S_2: C + Y / x(E_2)
T_2: C + D'_1 / x(E_2)
U_2: C + H / x(E_2)
V_2: C + Z / x(E_2)
i_2 = Line(R', I_2)
j_2 = Line(K_1, H_1)
W_2 = Mirror(O_2, j_2)
Z_2 = Mirror(W_2, i_2)
k_2 = Line(L_2, K_2)
A_3 = Mirror(Z_2, k_2)
l_2 = Line(Z_1, U_1)
B_3 = Mirror(S_2, l_2)
C_3 = Mirror(V_2, j_2)
D_3 = Mirror(C_3, i_2)
m_2 = Line(B_2, M_2)
F_3 = Mirror(S_2, m_2)
G_3 = Mirror(T_2, m_2)
H_3 = Mirror(Z_2, m_2)
I_3 = Mirror(H_3, i_2)
J_3 = Mirror(I_3, j_2)
n_2 = Line(U_1, K_2)
p_2 = Line(T_1, I_2)
q_2 = Line(Z_1, L_2)
r_2 = Line(O_1, R')
K_3 = Mirror(I_3, n_2)
L_3 = Mirror(J_3, n_2)
M_3 = Mirror(G_3, n_2)
N_3 = Mirror(L_3, p_2)
O_3 = Mirror(U_2, q_2)
P_3 = Mirror(V_2, q_2)
Q_3 = Mirror(C_3, q_2)
R_3 = Mirror(P_3, r_2)
s_2 = Segment(J, I_1)
t_2 = Segment(I_1, Z_1)
a_3 = Segment(Z_1, V_1)
b_3 = Segment(V_1, J)