Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: marcode en 22 de Enero de 2007, 10:17:32 PM

Título: Problema matemático, La pescadilla que se muerde la cola
Publicado por: marcode en 22 de Enero de 2007, 10:17:32 PM
Me gustaría saber como abordais el siguiente problema.

Tengo 2 objetos que actuan el uno sobre el otro, cuando es requerido, la función correspondiente modifica el estado del que tenga asociado.

El problema es cuando los dos objetos influyen entre sí, por ejemplo 2 ruedas dentadas con movimientos individuales. La función de un objeto llama a la del otro, que a su vez vuelve a llamar al anterior, y así sucesivamente hasta el infinito (en nuestro caso stack overflow).

Yo creo la solución correcta estará en una función común cruzada. Pero se podría complicar si el problema por ejemplo son varias ruedas dentadas.
Título: Problema matemático, La pescadilla que se muerde la cola
Publicado por: Pogacha en 22 de Enero de 2007, 10:46:55 PM
Si estas implementando un sistema realimentado, tienes(conozco) dos soluciones posibles, la analitica y la de aproximaciones sucesivas.
La analitica te da el resultado exacto y consiste en armar un sistema de ecuaciones/relaciones de donde se resuelva el sistema. Lamentablemente esta requiere de un conocimiento superior del problema y de todas sus puntualiades (en simulaciones fisicas se creaban matrices inmensas para calcular la interación de fuerzas, pero era muy limitado).
La otra solucion es de aproximaciones sucesivas, la cual consiste en mandarse un numero limitado(generalmente por el tiempo) de mensajes retroalimentados. O sea, en vez de mandar el mensaje al elemento se lo pones en una cola de analisis, en la siguiente iteración este tomará el mensaje y lo procesará enviando los correspondientes mensajes de realimentación al sistema. En fisica por ejemplo se suelen hacer unas 10 iteraciones por frame.

Saludos
Título: Problema matemático, La pescadilla que se muerde la cola
Publicado por: marcode en 22 de Enero de 2007, 11:23:19 PM
Vale, probaré con la segunda solución.
Título: Problema matemático, La pescadilla que se muerde la cola
Publicado por: Fran en 23 de Enero de 2007, 02:04:19 PM
Es una simulacion de engranajes?
Título: Problema matemático, La pescadilla que se muerde la cola
Publicado por: marcode en 23 de Enero de 2007, 06:50:52 PM
No, es una jerarquía de objetos conectados en la que no hay padres ni hijos definidos.

...una anarquía???  :shock:
Título: Problema matemático, La pescadilla que se muerde la cola
Publicado por: Fran en 23 de Enero de 2007, 07:10:27 PM
Cita de: "marcode"No, es una jerarquía de objetos conectados en la que no hay padres ni hijos definidos.

...una anarquía???  :shock:

Pues más bien. Yo no veo el problema si lo que quieres es simular sinceramente. (Será q soy corto). Lo que stá claro es q en un sistema de engranajes y desde una posición 0 de situación definida es fácil hallar en el momento T la situacion de cada engranaje.
Título: Problema matemático, La pescadilla que se muerde la cola
Publicado por: marcode en 23 de Enero de 2007, 08:04:46 PM
No es tan sencillo si lo que se aplican a los engranajes son desplazamientos o fuerzas (a cada uno de ellos).

Pero dejando a un lado la física, el problema ahora lo estoy teniendo porque obtengo la posición real de un objeto siguiendo la jerarquía.

Pero cuando la jerarquía no es una cadena de principio a fin el sistema se mete en un bucle y quería saber como se resuelven estas cosas.