Pergunta

Estou escrevendo programa Java para esportes da liga que atravessa conjunto atual de jogos de cada equipe e seus horários de próximos jogos, em seguida, com base no que eu faço um modelo de rede de fluxo. A idéia do programa é encontrar que as equipes já estão eliminados e não têm chances de ganhar ou compartilhar um lugar com qualquer outra equipe. Após a análise de rede (aplicando EdmondsKarp algo.) I descobrir se a equipe de ser eliminado ou não. Agora eu também quero simular isso. Eu estou usando JGraphT como biblioteca gráfico, e provavelmente irá utilizar JGraph para visualização (motivo: uma vez que eu criar JGraphT objetos que posso simplesmente instanciar JGraph objetos com eles e gráfico exibição). Descobri também para quadro Jung ontem, parece bom.

O principal problema é que eu nunca escreveu simulação e é o ponto onde eu preciso de ajuda "Olá Mundo". Quando digo simulação Quer dizer, eu quero mostrar visualmente cada parte da execução do algoritmo, e aqui está o cenário de exemplo: algoritmo tem de encontrar aumentando caminhos, então eu quero mostrar quando cada nova aresta é adicionado a aumentar caminho. Usuário será capaz de jogar e animação stop. Eu também quero mostrar mudanças no fluxo em todas as arestas e coisas assim. Até agora, eu tenho algoritmo de trabalho, mas eu não sei como abordar simulação. Deveria eu estar usando segmento separado para execução de simulação? Devo escrever classe separada que seria executado como algoritmo, mas com estados de gravação, mesmo sem saber para o algoritmo real (porque eu não quero o desempenho de interrupção do algoritmo real). Devo usar o algoritmo atual e adicionar algumas linhas no meio para salvar estados de execução em algumas estruturas de dados que eu poderia usar mais tarde para a exibição de simulação para o usuário? Todas as ideias pode ajudar ..

Foi útil?

Solução

Se eu entendi corretamente, você está pedindo uma forma de animada seu algoritmo e controlar a sua execução de forma interativa a partir de dentro a animação, que não é exatamente o mesmo que a simulação (a simulação apenas executa um modelo, geralmente ao longo de um determinado intervalo de tempo -. que não tem nada a ver com a interação do usuário ou animação, mas é claro que poderia ser combinado com ambos bem)

Eu sugiro que você dividir o problema em duas partes principais, interação e animação. Ambos podem ser resolvidos pela aplicação de um href="http://en.wikipedia.org/wiki/Model-view-controller" rel="nofollow noreferrer"> abordagem

Quanto você enfiar perguntas: o algoritmo provavelmente deve ser executado em um segmento extra (a menos que seja muito, muito rápido), e você também pode colocar a animação em um segmento adicional (isso é provavelmente já fornecido pelo JGraph qualquer maneira, basta verificar os docs ou utilizar os seus componentes como recomendado). Você deve observar, no entanto, que o desempenho de tempo de execução do seu algoritmo é quase certamente afetada pelo aninmation, mesmo que é em execução em outro segmento (uma vez que a notificação ainda tem que ser feito pelo algoritmo) - que deve ter cuidado com análise de desempenho e usar uma versão animada-un para tais estudos.

scroll top