Simulación
Posted by graineri on 2008-10-19 15:04
Esto es algo interesante que respondió un ayudante al grupo de Google.
PREGUNTA DE UN ALUMNO:
> Buenas:
> He notado al correr una y otra vez ejemplos modificados de sms_test que los resultados varian.
> Esto no invalida la posibilidad de evitar la trampa ejecutando en el servidor y el cliente y comparando resultados?
RESPUESTA DEL AYUDANTE:
No estoy seguro de si estoy entendiendo el problema. Asumo que te
referís a que el mismo programa se comporta de forma distinta en
ejecuciones diferentes.
Salvo que utilices un delta-t fijo en la simulación física, los
resultados variarán por el comportamiento propio de los métodos de
integración numéricos (sobre todo cuando son utilizados con pasos
cercanos al máximo posible). Existen varias opciones para "resolver"
este problema, entre ellas:
- Correr la simulación física con un delta-t fijo y a una velocidad
constante en un thread separado del encargado de dibujar).
- Utilizar un delta-t fijo en la simulación "tal cual está" y aceptar
la variación en velocidad aparente al cambiar entre distintas
máquinas.
- Almacenar y enviar los delta-t utilizados para la simulación (esto
podría resultar impráctico).
- Aceptar los resultados que indique el cliente como válidos.
PREGUNTA DE UN ALUMNO:
> Buenas:
> He notado al correr una y otra vez ejemplos modificados de sms_test que los resultados varian.
> Esto no invalida la posibilidad de evitar la trampa ejecutando en el servidor y el cliente y comparando resultados?
RESPUESTA DEL AYUDANTE:
No estoy seguro de si estoy entendiendo el problema. Asumo que te
referís a que el mismo programa se comporta de forma distinta en
ejecuciones diferentes.
Salvo que utilices un delta-t fijo en la simulación física, los
resultados variarán por el comportamiento propio de los métodos de
integración numéricos (sobre todo cuando son utilizados con pasos
cercanos al máximo posible). Existen varias opciones para "resolver"
este problema, entre ellas:
- Correr la simulación física con un delta-t fijo y a una velocidad
constante en un thread separado del encargado de dibujar).
- Utilizar un delta-t fijo en la simulación "tal cual está" y aceptar
la variación en velocidad aparente al cambiar entre distintas
máquinas.
- Almacenar y enviar los delta-t utilizados para la simulación (esto
podría resultar impráctico).
- Aceptar los resultados que indique el cliente como válidos.
Home / Developer API / Tour / Get a Project - Solutions for Bug & Issue Tracking, Collaboration Tools, Subversion Hosting, Git Hosting
Taller i is powered by Assembla.
0 Comments