Ejercicio

Started by DCelso, August 03, 2009, 07:52:27 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DCelso

hola a todos, estaba dando vueltas a implementar un ejemplo de intercambio de movimiento y  he pensado en hacer un péndulo de newton.
¿Que algoritmos se os ocurren para realizar este ejercicio?
Actualmente he pensado en un movimiento de ecuación cuadrática del tipo y=ax^2+bx+c, pero no tengo pensado aún cómo pasar el movimiento a las siguientes bolas, ya que no se  mueven a penas las del medio.

Bueno os dejo aquí un enlace para que veais fotos de péndulos de newton.

http://images.google.es/images?gbv=2&hl=es&sa=1&q=PENDULO+DE+NEWTON&btnG=Buscar+im%C3%A1genes&aq=f&oq=

PD: venga a ver si os animais y sacamos unos cuantos algoritmos distintos :d.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Prg

quizá el movimiento sería más fácil realizarlo mediante get_distx y get_disty , lo único que variarías sería el ángulo con respecto a la conexión del hilo con la esfera y la parte de arriba, y transmitirías la fuerza a las esferas correspondientes.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

josebita

Sin ponerme a escribir código, yo lo que haría sería definir unos procesos bola con variables públicas: masa (m), posición (x, y), velocidad (vx, vy) y aceleración (ax, ay).
En el movimiento de las bolas libres (cuando no hay impacto) usaría las ecuaciones de newton normales: F=m*a imponiendo que la bola está sujeta por la barra e iría integrando las aceleraciones resultantes para ir moviendo las bolas libres.
Cuando hay colisión, usaría las ecuaciones de impulsos, dando por hecho que el choque es perfectamente elástico y que el choque se produce cuando la bola libre sólo tiene velocidad horizontal:
m1*vx1=m2*vx2 --> Se llega a que la segunda bola obtiene una velocidad vx2=vx1*m1/m2
Aún así, antes de hacer FRAME comprobaría colisiones en la dirección del movimiento:
Si hay colisión, vuelvo a hacer lo mismo.
Si no la hay, es que la bola está libre -> Se trata de otro movimiento newtoniano en el que se conoce la velocidad horizontal de partida, que se puede volver a integrar con F=m*a

Igual no me he explicado muy bien...

PD: Se puede reemplazar la ecuación F=m*a -que obligaría a despejar la fuerza con que la barra sujeta la bola- por la de la energía E=m*g*z+m*v/2=cte, dado que en todo instanta se conoce la orientación del vector velocidad

DCelso

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/