jueves, 5 de junio de 2014

Práctica 1: La cuerda de muelles

ENUNCIADO:
Se pretende hacer un juego con una cuerda hecha con muelles con la que
poder interactuar con el ratón (dragging). La cuerda debería estar
compuesta por muelles en cuyos extremos se visualizaría una circunferencia
con radio proporcional a la masa considerada.

Contamos con tres clases:
Main: Inicializamos posiciones,  recogemos valores del teclado, le pasamos al update de los extremos el modelo de integrador que queremos aplicar, recogemos la energía cinética de cada extremo, mostramos por pantalla dicha energía y la máxima, recogemos los clicks del ratón para realizar el dragging, dibujamos la gráfica (plot_func) con la energía cinética, ...

Mover: Es la clase de un Extremo. Aquí es donde tendremos el constructor de cada uno, y los métodos de integración (en función de qué tecla hayamos pulsado).
-Euler explícito: Primero estimamos la posición [ R = R + V * d(t) ] y después la velocidad [ V = V + A * d(t) ].
-Euler semi-implícito: Al revés que Euler explícito; primero la velocidad y después la posición.
-RK2: Derivada en punto medio.
-Heun: Estimamos pendientes para obtener la aproximación buscada.

Tras integrar, aplicamos la ley de Newton en la función 'applyForce': Fuerza = Masa * Aceleración. Cargamos en la aceleración, la aceleración correspondiente a cada una de las fuerzas.
También tenemos en esta clase los métodos necesarios para la interacción del ratón con los muelles, y los valores de masa, incremento de tiempo y amortiguación.


Spring: Es la clase Muelle. Después del constructor del muelle, en el 'update' calculamos la fuerza de este con dos extremos y su longitud en reposo. Le restamos a la fuerza proporcional al desplazamiento [ Fk = k * anchor * (mod - len) ], la fuerza con amortiguación [ Fk_amort = Fk − kd*vmuelle ] de cada extremo, mediante el 'applyForce' aplicamos estas fuerzas obtenidas a cada extremo, 'a' y 'b'.

Haciendo click aquí se puede visualizar la memoria de esta práctica, con el análisis de la estabilidad de los integradores ( Euler, Euler Semi, Heun y RK2), el análisis de la energía cinética mostrada en el gráfico y las conclusiones.


(Hacer click en la imagen para después interactuar)


No hay comentarios:

Publicar un comentario