Aiuto: migliori tool per generazione gif

Ciao a tutti,
con un collega e uno studente abbiamo un’idea per un piccolo progetto di divulgazione o se volete meta-divulgazione.

Noi abbiamo gia’ dei tool molto comuni nel nostro settore che dato un processo di collisione tra particelle predicono gli step intermedi della catena di decadimento.
Quello che vorremmo creare e’ un tool su una pagina web dove la gente puo’ mettere il processo, e questo genera una gif con le particelle dello stato iniziale, la collisione, e le particelle nello stato finale.

E’ pero’ un settore dove siamo abbastanza ignoranti in termini di tool con cui si puo’ fare sta roba. Cosa usereste per un sito che prende una stringa di testo, fa un processing veloce di una funzione che genera questo decadimento, e crea una gif? E’ una roba molto impegnativa secondo voi?
Le nostre conoscenze sono queste: C++ e python principalmente, ma con pochissima esperienza dal lato grafico. Un po’ di conoscenze di base su come generare pagine web.

Vorremmo capire se e’ una cosa che possiamo sviluppare senza uno sforzo immane come side-project. Contate che non deve essere una roba superfancy, l’utilita’ e’ piu’ importante della grafica.

Per dire, il sito dovrebbe generare per la fisica delle particelle delle gif simili a questa che si usa per mostrare la fissione nucleare

la gif va generata da immagini o da video??

Lato server potete eseguire e installare roba??

La gif deve essere generata da una linea di testo.
Noi abbiamo programmi (molto leggeri) dove se tu metti in input le particelle a+b ti sputa il testo con gli step intermedi e le particelle di output.
Questo andrebbe tradotto in una forma grafica con pallocchi che rappresentano le particelle.

Abbiamo spazio web circa infinito e dei server web su cui con un minimo di senno possiamo installare roba (e’ gestito dal nostro centro di calcolo che e’ overworked ma in teoria se ci danno gli accessi ce le gestiamo noi).

E’ un’idea che ventilavamo cosi’, tanto per, non siamo in grado di capire bene quanto il progetto sia impegnativo. Per altro se e’ una cosa che pensiamo sia fattibile potremmo anche chiedere dei soldi per prendere qualcuno per gestire gli aspetti piu’ informatici.

ok allora direi che se c’è python credo potreste farlo con Pillow

A voi serve una “scatola nera” che restituisce questa gif.

A grandi linee il progetto lo stutturerei, in maniera semplificata e per partire, con un semplice servizio REST scritto in Flask che prende in chiamata una stringa e restituisce l’animazione.
Il codice dentro il servizio è sempre Python, quindi qui riutilizzi le funzione che già avete per gli step intermedi e output che poi traduci in gif usando Pillow di qui sopra facendo frame per frame. Ovviamente la parte divertente è proprio questa traduzione, quindi a parità di output dovrete decidere dove disegnare, le dimensioni delle particelle da visualizzare e cose così

Questo a prescindere da sito e varie infrastutture ti permetterà di avere una Web API che a stringa restituisce gif appunto, per testare potete anche fare la chiamata in locale. Poi, una volta che avete questo generatore puoi integrarlo in qualsiasi sito e come vuoi.

Si mi e’ piu’ chiara la struttura che dovrebbe avere, grazie a entrambi.
Quindi la parte di blackbox dovrebbe essere eseguita sulle nostre macchine, no? E poi questo restituisce un file che viene caricato sull’interfaccia web dell’utente.

Vista cosi’ per noi la parte piu’ difficile e’ probabilmente la parte web, semplicemente perche’ non abbiamo esperienza a riguardo, ma immagino che per fare qualcosa di semplice non sia estremamente difficile.

Ne parlo con gli altri. Il punto e’ anche che ci sono periodicamente grant per piccoli progetti di divulgazione e potremmo chiedere i soldi per prenderci qualcuno da fuori che ci faccia la parte web.

Si, praticamente voi avrete sto servizio che gira sulle vostre macchine che data la stringa restituisce la gif. Poi questa gif la puoi usare dove vuoi. La cosa figa è che potete esporre direttamente il servizio e farlo usare da qualsiasi altra persona nell’internet (usalo come plus per avere i soldi :asd:).

Ovviamente c’è da considerare un’eventuale autenticazione, caching (a parità di stringa è inutile rifare calcoli, la gif è già stata elaborata e salvata) e altre cose più avanzate. Ma questi son altri problemi che comunque son già stati risolti e son di facile implementazione, intanto fate il succo.

1 Like

In realtà la parte web mi sembra la più facile a meno che non ho capito cosa intendiate per la parte web (per me è la pagina web su cui l’utente sceglie il tipo di collisione e poi si vede la giffina animata).

Il servizio rest con Flask vi viene facile facile.

La parte più difficilotta ma divertente è appunto creare e renderizzare le immagini in Pillow.

Niente che un bravo studente in informatica grafica non possa fare dietro pagamento.