Pergunta

Fundo

Tenho sido perguntado por um cliente para criar uma imagem do mundo que tem animado setas / raios que vêm de uma parte do mundo para o outro.

Os raios serão randomizados, vai representar uma transação, vai desaparecer depois que eles acontecem e irá aumentar em frequência como o tempo passa. Os raios começará em fronteira e no fim de um país no outro. Como cada transação animada acontece uma soma contínua actualização dos montantes de todas as transações serão mostradas na parte inferior da imagem. Os valores das transações individuais serão distribuídos aleatoriamente. Haverá também um ano mostrando na imagem que será incrementado a cada n segundos.

A randomização, somatório e incrementando não são um problema para mim, mas eu estou em uma perda a respeito de como abordar a animação das setas / raias.

A minha pergunta é qual é a melhor maneira de fazer isso? O que frameworks / bibliotecas são os mais adequados para este trabalho?

Estou muito fluente em python por isso sugestões python são mais fácil para mim, mas estou aberto a qualquer maneira elegante de fazer isso. O cliente irá apresentar isso como um slide de uma apresentação em uma máquina Windows.

Foi útil?

Solução

Se você é aventureiro uso OpenGL:)

Você pode desenhar curvas bezier no espaço 3D em cima de um avião de textura (mapa da terra), você pode especificar uma espessura para eles e você pode desenhar um ponto (pequeno cone) no final. É fácil e parece bom, problema é aprender as noções básicas de OpenGL, se você não tê-lo usado antes, mas que seria divertido e provavelmente útil se o seu em para programar gráficos.

Você pode usar OpenGL de python ou com PyOpenGL ou pyglet .

Se você fazer a animação desta forma você pode capturá-lo para um arquivo AVI (usando camtasia ou algo similar) que pode ser colocado sobre uma lâmina de apresentação.

Outras dicas

O cliente irá apresentar isso como um slide de uma apresentação em uma máquina Windows

Eu acho que esta é a chave para a sua resposta. Antes de ir para uma implementação 3d e escrever todo o código no mundo para criar este recurso, você precisa olhar para o software de apresentação. As possibilidades são, suas opções vão se resumem a duas coisas:

  1. Animated GIF
  2. Apresentação personalizada Scripts

Obviamente, um GIF animado não é o ideal, devido ao fato de que ele se repete quando é feito processamento, e para torná-lo durar um longo tempo faria um grande gif.

Apresentação personalizada Scripts provavelmente seria a outra maneira de permitir que ele para trazê-lo em uma apresentação sem correr quaisquer programas-secundários, ou fazer qualquer coisa estranha. Eu não tenho certeza qual aplicativo de apresentação é o alvo, mas isso poderia ser uma informação valiosa.

Ele soa como ele é algo mais não técnico e solicitando que ele não percebe será difícil. Eu acho que você deve vir acima com algumas opções, explicar a dificuldade na sua execução, e sugerir outra solução que cai no 'bang for your buck' intervalo.

Ele depende muito do esforço que você quer gastar sobre isso, mas o esquema básico de uma maneira fácil. Seria para carregar uma imagem de uma seta, e usar uma biblioteca de desenho para colorir e girá-lo na direção que você quer ponto (ou desenhá-la usando formas / curvas).

Finalmente, para realmente animá-lo interpolar entre as coordenadas com base no tempo.

Se o seu apenas para uma apresentação, porém, eu iria usar Macromedia Flash, ou um programa de animação similar. (Faria o mesmo que acima, mas você não precisa de programar qualquer coisa)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top