[Tienes que estar registrado y conectado para ver esa imagen]MOVIMIENTO ARMÓNICO SIMPLE[Tienes que estar registrado y conectado para ver esa imagen]Vamos a crear un péndulo a base de eslabones sin rotación.
El péndulo se creará a partir de un bloque de referencia en reposo 1. TeoríaUna partícula describe un Movimiento Armónico Simple (M.A.S.) cuando se mueve a lo largo del eje X, estando su posición x dada en función del tiempo t por la ecuación:
x=A·sen(ωt+φ)
Lo que nos interesa:
A=
Amplitud (medida de longitud, desde el centro al extremo, elongación)
(ωt+φ) =
fase (medida en grados)
Por lo tanto tenemos la fórmula siguiente:
x= Amplitud*sen(fase)2. Llevando esto al MMFVamos a aprovechar una bonita búsqueda de solución a un problema planteado por
Matriax en este hilo:
[Tienes que estar registrado y conectado para ver este vínculo]En este caso, afrontaremos el problema, desglosándolo y ampliando un pelín la solución.
Frame 1Aquí vamos a ver cómo se implementa la fórmula en actives y crearemos unas variables que nos permitan modificar sus dos parámetros para poder ver con facilidad como afectan al movimiento.
Creamos dos variables:
Amplitud y
faseLas asignamos al objeto que está en reposo.
Este objeto fijo, se podrá duplicar en tiempo de diseño y se podrán distribuir sus copias a lo largo del escenario.
Ese es el propósito de este tutorial.
Será por tanto nuestro objeto de referencia, ya que los demás dependerán de él.
Los demás actives, a los que dotaremos de un movimiento M.A.S, se colocarán debajo de este, en cadena, de forma que se nos construya un péndulo a base de eslabones sin rotación.
En el ejemplo, podemos jugar con los valores de
Amplitud y
Fase y ver como cambia el movimiento.
En este caso, usamos objetos independientes.
Quedan posicionados en tiempo de diseño.
Frame 2Como no nos interesa llenar el escenario de objetos, vamos a valernos de un
behavior (comportamiento) que nos haga la misma función.
Como curiosidad, fijarse que en el
Start of frame, se asignan de forma aleatoria valores distintos para los bloques de referencia, de forma automática.
¡¡¡ Esto hará que cada péndulo tenga su propia
Amplitud y
Fase !!!
Los demás bloques del péndulo se posicionan por coordenadas referidas al bloque en reposo.
A medida que los bloques con M.A.S, se alejan del bloque de referencia, hay que añadirles un factor multiplicador a la
Amplitud, creciente.
Se añaden unas condiciones (de ser muchos los eslabones, se haría con un bucle) que nos permiten colocar más objetos de referencia en el escenario de modo que a su vez se van a crear y posicionar los demás bloques de la cadena, de forma automática.
Frame 3En este caso, tan sólo se repite el caso anterior, atendiendo al problema planteado en el link puesto más arriba.
Se corrigen las distancias, se fija la guadaña al último de los anillos a través de su
action point.
Frame 4En este ejemplo, lo cambiamos un poco para poder poner las variables a nuestro gusto para cada caso.
En el
frame editor, en las propiedades del bloque de referencia, podemos poner unos valores adecuados, para no tener que ponérselos obligatoriamente en los eventos.
En los eventos, asignamos una variable de instancia (ID) a cada instancia del bloque de referencia.
Cambiamos los valores de estas variables de forma independiente para cada instancia, como mejor nos parezca.
He escogido, en este caso, pares en contrafase y con distinta amplitud, pero conservando el mismo periodo.
Eliminamos del
behavior el
start of frame que ahora ya no necesitamos.
Nota: En todos los ejemplos, he puesto el
incremento de la fase por cada ciclo en 3. Esto dota de una velocidad determinada al péndulo (Periodo). Se puede cambiar a voluntad.
3. Los ejemplos[Tienes que estar registrado y conectado para ver este vínculo]M.A.S: Péndulo (MMF,mfa)