[color=#999999]Esta actividad pertenece al [i]libro de GeoGebra [/i][url=https://www.geogebra.org/m/nfjy7ug4]El dominio del Tiempo[/url].[/color][br][br]Esta animación simula el [i]efecto dominó[/i] [b]en tiempo real[/b]. El efecto dominó se comporta como una onda. La ficha que va en cabeza (el frente de onda) transmite el movimiento de caída a la siguiente, que se convierte así en el nuevo frente de onda.
Cada ficha de este dominó ideal cae siguiendo un movimiento pendular, es decir, su parte superior traza un arco de circunferencia con un movimiento acelerado por la gravedad. Este comportamiento ideal supone las siguientes condiciones:[br][list][*]Cada ficha no puede desplazarse respecto al suelo, solo puede volcar hasta tropezar con la siguiente. (En la realidad, se producen ligeros desplazamientos.)[/*][*]Los choques son completamente inelásticos (no hay rebotes). (En la realidad, se producen pequeños rebotes.)[/*][*]Después de golpear la siguiente ficha, la ficha que ha golpeado se desliza sin fricción sobre la otra. (En la realidad, se producen rozamientos y desequilibrios.) [/*][/list][br]Sea [i]a[/i] el grosor de cada ficha, [i]h [/i]su altura,[i] s[/i] a la separación entre dos fichas contiguas y [i]d = s + a[/i] la distancia entre ellas.[br][br]Llamaremos [math]\beta_k[/math] al ángulo de inclinación de cada ficha respecto a la vertical. Entonces, del siguiente diagrama, deducimos:[br][br] [math]\gamma=\beta_{k+1}-\beta_k[/math] [math]sen\left(\gamma\right)=\frac{AB}{h}[/math][br] [math]\delta=\frac{\pi}{2}-\beta_k[/math] [math]sen\left(\delta\right)=\frac{AB+a}{s+a}[/math]
Despejando [i]AB[/i]:[br][br] [math]h\cdot sen\left(\gamma\right)=d\cdot sen\left(\delta\right)-a[/math][br][br]y de ahí:[br][br] [math]\beta_{k+1}=\beta_k+arcsen\left(\frac{d\cdot cos\left(\beta_k\right)-a}{h}\right)[/math][br][br]Por lo tanto, la inclinación de cada ficha queda determinada por el ángulo [math]\beta_1[/math] ([i]Mang [/i]en la construcción) de la que marcha en cabeza. A su vez, este ángulo de la ficha que arrastra al resto tiene como tope ([i]Mtrans [/i]en la construcción):[br][br] [math]\beta_0=arcsen\left(\frac{s}{h}\right)[/math][br][br]pues a partir de ahí es la siguiente ficha la que marcha en cabeza (el ángulo de la ficha golpeada pasa de ser 0 a ser [math]\beta_1[/math], la que golpea pasa de ser [math]\beta_1[/math] a ser [math]\beta_2[/math], etc.)[br][br]Ahora basta definir la función:[br] [br] [math]f(x)=x+arcsen\left(\frac{d\cdot cos\left(x\right)-a}{h}\right)[/math][br][br]para que el comando [b]ListaIteración[/b] construya la lista de los ángulos [math]\beta_1[/math] ... [math]\beta_n[/math]:[br][br] ListaIteración(f(x), Mang, n)[br][br]Para mejorar la ejecución, se recomienda [url=https://www.geogebra.org/material/download/format/file/id/zgu7m9cc]descargar el archivo GGB[/url].
[b]GUION DEL DESLIZADOR anima[/b][br][br][color=#cc0000]# Calcula los segundos dt transcurridos; para ello, suma un segundo si t1(1) < tt[/color][br][color=#999999]Valor(tt, t1(1))[br]Valor(t1, Primero(TomaTiempo(), 3))[br]Valor(dt, (t1(1) < tt) + (t1(1) - tt)/1000)[/color][br][color=#cc0000][br]# Mueve M y controla el final. El valor lógico "trans" registra el momento de colisión con la siguiente ficha[/color][br][color=#999999]Valor(M, M + dt v)[/color][br][color=#0000ff]Valor(trans, Mang > Mtrans ∧ N < n)[br]Valor(v, Si(trans, (x(vt), 0), vt + dt gt))[br]Valor(M, Si(trans, Rota((0, h), -Mtrans), M))[br]Valor(N, Si(trans, N + 1, N))[br]Valor(M, Si(trans, (0, h) + dt vt, M))[br]IniciaAnimación(anima, Mang < angMax || N < n)[br][br][br][br][br][color=#999999]Autor de la actividad y construcción GeoGebra: [url=https://www.geogebra.org/u/rafael]Rafael Losada[/url].[/color][/color]