Domanda

Sfondo

Mi è stato chiesto da un cliente di creare un'immagine del mondo che abbia frecce / raggi animati che provengono da una parte del mondo a un'altra.

I raggi saranno randomizzati, rappresenteranno una transazione, svaniranno dopo che si verificano e aumenteranno di frequenza col passare del tempo. I raggi inizieranno al confine di un paese e finiranno in un altro. Ogni volta che si verifica una transazione animata, nella parte inferiore dell'immagine verrà mostrata una somma in continuo aggiornamento degli importi di tutte le transazioni. Gli importi delle singole transazioni saranno randomizzati. Ci sarà anche un anno che mostra l'immagine che aumenterà ogni n secondi.

La randomizzazione, la somma e l'incremento non sono un problema per me, ma non riesco a capire come affrontare l'animazione delle frecce / raggi.

La mia domanda è: qual è il modo migliore per farlo? Quali framework / librerie sono più adatti per questo lavoro?

Sono molto fluente in Python, quindi i suggerimenti di Python sono più facili per me, ma sono aperto a qualsiasi modo elegante per farlo. Il client lo presenterà come una diapositiva in una presentazione in un computer Windows.

È stato utile?

Soluzione

Se sei un avventuroso usa OpenGL :)

Puoi disegnare curve di Bezier nello spazio 3d sopra un piano strutturato (mappa della terra), puoi specificare uno spessore per loro e puoi disegnare un punto (cono piccolo) alla fine. È facile e sembra bello, il problema è imparare le basi di OpenGL se non l'hai mai usato prima, ma sarebbe divertente e probabilmente utile se sei interessato a programmare la grafica.

Puoi usare OpenGL da Python con pyopengl o pyglet .

Se crei l'animazione in questo modo puoi acquisirla in un file avi (usando camtasia o qualcosa di simile) che può essere inserito in una diapositiva di presentazione.

Altri suggerimenti

  

Il client lo presenterà come una diapositiva in una presentazione in un computer Windows

Penso che questa sia la chiave della tua risposta. Prima di passare a un'implementazione 3d e scrivere tutto il codice del mondo per creare questa funzione, devi guardare il software di presentazione. È probabile che le tue opzioni si riducano a due cose:

  1. GIF animate
  2. Script di presentazione personalizzati

Ovviamente, una gif animata non è l'ideale a causa del fatto che si ripete quando ha finito il rendering, e farla durare a lungo farebbe una grande gif.

Gli script di presentazione personalizzati sarebbero probabilmente l'altro modo per consentirgli di presentarli in una presentazione senza eseguire programmi secondari o fare qualcosa di strano. Non sono sicuro di quale applicazione di presentazione sia l'obiettivo, ma questa potrebbe essere un'informazione preziosa.

Sembra più non tecnico e richiedere qualcosa che non capisce sarà difficile. Penso che dovresti trovare alcune opzioni, spiegare la difficoltà di implementarle e suggerire un'altra soluzione che rientri nella gamma "bang for your buck".

Dipende in gran parte dallo sforzo che vuoi spendere per questo, ma dal profilo di base di un modo semplice. Sarebbe come caricare un'immagine di una freccia e utilizzare una libreria di disegni per colorare e ruotarla nella direzione in cui si desidera puntare (o disegnarla usando forme / curve).

Finalmente per animarlo effettivamente interpolare tra le coordinate in base al tempo.

Se fosse solo per una presentazione, userei Macromedia Flash o un programma di animazione simile (farebbe lo stesso come sopra ma non è necessario programmare nulla)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top