Partículas y el m.c.m.

Vamos a lanzar partículas desde tres lugares distintos hacia el punto marcado como B. Desde el punto azul sale una partícula cada m segundos, desde el verde cada n segundos y desde el rojo cada p segundos. Cuando una partícula llega sola al punto de encuentro sigue su camino, pero si llega con otra se une a ella y su color será intermitente.

Inicialmente la partícula azul sale cada 6 segundos, la verde cada 5 y la roja cada 2. Dispones de controles en la ventana izquierda para aumentar o disminuir la frecuencia de disparo y también para modificar la velocidad de la animación.

En la ventana derecha tienes una animación de las partículas y los choques que se producen y además te ofrece la siguiente información:
    El tiempo transcurrido.
    Los instantes en que ha sido disparada cada partícula.
    La cantidad de disparos que ha realizado cada lanzador.
    La coincidencia de cada par de partículas y cuándo han coincidido las tres.

Pulsa sobre para comenzar la animación y coloca la velocidad adecuada con los deslizadores .

Modifica los valores de las frecuencias con que se dispara cada partícula y estudia la frecuencia de choque de cada par de partículas y los de las tres.
Utiliza la descomposición en factores para obtener el mínimo común múltiplo de cada par de números, comprobar el primer choque de cada par de partículas y para obtener la coincidencia de las tres.

Velocidad de la animación

Lanzador 1

Lanzador 2

Lanzador 3

Rapidez de la animación

Inicio

Comienza

Cantidad de
disparos realizados

a = 1.203 (slider from 1 to (2 * m_1) + 5, step 0.001)
a1: a - floor(a)
C = Point(xAxis)
c = Circle(C, 4)
b = OrthogonalLine(C, xAxis)
D = Intersect(c, b, 2)
B = Point(xAxis)
j = Segment(C, B)
f = Line(C, B)
I = Point(f)
L0: C + (a1 * (I - C))
l = OrthogonalLine(L0, j)
e_1 = OrthogonalLine(D, l)
g = OrthogonalLine(I, f)
M = Intersect(e_1, g)
h_1 = Segment(D, M)
Q = Intersect(l, h_1)
A = (0, 0)
p = 2 (slider from 1 to 12, step 1)
n = 5 (slider from 1 to 12, step 1)
m = 6 (slider from 1 to 12, step 1)
m_1 = LCM({p, n, m})
v = 0 (slider from 0 to 0.2, step 0.005)
nada_1 = -4.7 (slider from -5 to 5, step 0.1)
E = (-5.35338, -5.34662)
h = Line(E, xAxis)
H = Point(h)
lb = Sequence((i * p), i, 1, a / p)
texto1: "" + lb + ""
lc = Sequence((i * n), i, 1, a / n)
ldd = Sequence((i * m), i, 1, a / m)
texto2: "" + lc + ""
texto3: "" + ldd + ""
pb: floor(a / p)
pc: floor(a / n)
pd: floor(a / m)
texto6: "" + pc + ""
texto5: "" + pb + ""
texto7: "" + pd + ""
texto9: "" + pb + ""
texto10: "" + pc + ""
texto11: "" + pd + ""
pm: floor(a / m_1)
lm = Sequence((i * m_1), i, 1, a / m_1)
F = (-7.94, 6.36)
texto14: "Los tres juntos  " + pm + "  vez"
pa: floor(a)
texto20: "Los tres juntos  " + pm + "  vez"
d = Line(D, B)
G = Intersect(c, b, 1)
e = Line(G, B)
J = Intersect(e, g)
i = Segment(G, B)
K = Intersect(d, g)
k = Segment(D, B)
L1 = Intersect(l, k)
L3 = Intersect(l, i)
p_1 = Circle(I, 1.5)
UU = Intersect(p_1, g, 2)
n_1 = Segment(B, UU)
O = Intersect(p_1, g, 1)
r = Segment(B, O)
L23 = Intersect(l, n_1)
L12 = Intersect(l, r)
T = Point(g)
s = Segment(B, T)
L123 = Intersect(l, s)
aa1: a - a1
x1 = If(Mod[aa1, m] ≟ 0, 1, 0)
x2 = If(Mod[aa1, n] ≟ 0, 1, 0)
x3 = If(Mod[aa1, p] ≟ 0, 1, 0)
xp: x(L0)
xx: (100 * x1) + (10 * x2) + x3
q = Circle(I, 5)
t = Circle(I, T)
V = Intersect(t, g, 2)
a_1 = Segment(B, V)
L13 = Intersect(l, a_1)
Z = Intersect(l, j)
L123_1 = NaN
b_1 = Segment(B, J)
L: B
c_1 = Segment(L, I)
d_1 = Segment(L, K)
L33 = Intersect(l, b_1)
L11 = Intersect(l, d_1)
L22 = Intersect(l, c_1)
L2 = Intersect(j, l)
f_1 = Circle(L123, 0.5)
xl = Mod(floor((x(Q) * 100)), 2)
f_2 = Circle(L123, 0.5)
L13B: L13
L12B: L12
L23B: L23
c12 = Circle(L12, 0.3)
c12b = Circle(L12, 0.3)
c13 = Circle(L13, 0.3)
c13b = Circle(L13, 0.3)
c23 = Circle(L23, 0.3)
c23b = Circle(L23, 0.3)
m12 = LCM({m, n})
m13 = LCM({m, p})
m23 = LCM({n, p})
lm12 = Sequence((i * m12), i, 1, a / m12)
lm13 = Sequence((i * m13), i, 1, a / m13)
lm23 = Sequence((i * m23), i, 1, a / m23)
g_1 = OrthogonalLine(G, l)
N = Intersect(g, g_1)
P: G
i_1 = Segment(N, P)
R = Intersect(l, i_1)
j_1 = Segment(Q, R)
texto16: "Segundo:  " + pa + ""
nada = -4.85 (slider from -5 to 5, step 0.05)
S = (-8.80408, 2.57852)
U = (-8.11196, 3.72318)
u = Vector(S, U)
W = (-8.99042, 0.6885)
A_1 = (-8.05872, 0.18272)
w = Vector(W, A_1)
B_1 = (-9.3631, 0.47554)
C_1 = (-7.68604, -3.5707)
u_1 = Vector(B_1, C_1)
texto12: "" + pa + " segundos"
texto4: "Los disparos se efectúan cada 
   m (" + m + "), n (" + n + ") y p (" + p + ") segundos"
texto21: "Chocan 1 y 2: " + lm12 + ""
texto22: "Chocan 2 y 3: " + lm23 + ""
texto23: "Chocan 1 y 3:  " + lm13 + ""
texto15: "Chocan las tres " + lm + ""