Animazione tikz

  • Creatore
    Topic
  • #86397
    Up
    0
    Down
    ::


    Ciao, vorrei realizzare una figura animata in cui un oggetto di forma circolare (quindi il suo centro) si sposta seguendo delle coordinate (x1,x2) precacolate da un altro sofware. Mi chiedevo se è possibile farlo con tikz e, in caso affermativo, se potete suggerirmi qualche esempio o template, perchè se già conosco poco il tikz di base figuratevi per questa scopo.

    La figura animata dovrebbe poi contenere altri oggetti disegnati sullo stesso piano (questi statici), ellissi, rettangoli etc., ma penso che questo sia più facile (?).

    Se tutto ciò è fattibile (cioè si può generare un pdf con questa animazione) ci possono essere problemi legati al numero troppo elevato di dati? Ad esempio le mie (x1,x2) sono circa 800 (coppie).

    Grazie 🙂

Visualizzazione 13 filoni di risposte
  • Autore
    Risposte
    • #86398
      Up
      0
      Down
      ::


      Ciao DirkPitt,

      forse potrebbe venirti in aiuto il pacchetto [tt]animate,[/tt] la cui documentazione consta di sole 23 pagine. Inoltre, potrebbe esserti utile dare un’occhiata a questa discussione.

      Ciao,
      Marco.

    • #86399
      Up
      0
      Down
      ::

      DirkPitt” post=85851Ciao, vorrei realizzare una figura animata in cui un oggetto di forma circolare (quindi il suo centro) si sposta seguendo delle coordinate (x1,x2) precacolate da un altro sofware. Mi chiedevo se è possibile farlo con tikz e, in caso affermativo, se potete suggerirmi qualche esempio o template, perchè se già conosco poco il tikz di base figuratevi per questa scopo.

      La figura animata dovrebbe poi contenere altri oggetti disegnati sullo stesso piano (questi statici), ellissi, rettangoli etc., ma penso che questo sia più facile (?).

      Se tutto ciò è fattibile (cioè si può generare un pdf con questa animazione) ci possono essere problemi legati al numero troppo elevato di dati? Ad esempio le mie (x1,x2) sono circa 800 (coppie).

      Grazie 🙂

      Si, puoi farlo con almeno 3 filosofie diverse:

      1) TikZ+beamer; a quel punto ti serve il famoso stile [tt]visible on=<>[/tt] e sei a posto. Esempio: qui (giusto per pubblicità, una evoluzione del concetto è rappresentata dagli stili che ho definito tempo fa qui: trovi un esempio carino qui).
      2) TikZ+standalone; il trucco è usare un ciclo prima della figura per il numero di frame da creare e usare l’opzione [tt]tikz[/tt] da passare a standalone. Esempi: qui, qui e qui.
      3) Usare il pacchetto apposito animate. Esempi: qui e qui.

      Ciao
      Claudio

    • #86400
      claudio
      Partecipante
        Up
        0
        Down
        ::


        un metodo completamente diverso è questo
        utilizzando geogebra

        le scelte sono molte come vedi
        ciao
        claudio

        edit
        non mi ero accorto che veniva consigliamo un mio post
        scusate

      • #86401
        Up
        0
        Down
        ::


        Ciao DirkPitt,

        questo è un argomento che mi interessa, e credo che potrà tornare utile anche a me. Grazie alle indicazioni di cfiandra ho fatto alcune prove (il metodo che prevede l’uso della classe beamer non l’ho provato). Qualche commento che spero possa esserti utile:

        1. Il pacchetto [tt]animate[/tt] mi ha dato dei problemi. Ossia, provando a realizzare un semplice segmento che ruota rispetto a uno dei suoi estremi, la compilazione non dava errori, ma nel PDF vedevo solo uno degli “step” e poi l’immagine rimaneva sempre quella. Insomma, mi sembra che questo pacchetto non lavori sempre benissimo con [tt]TikZ;[/tt]
        2. La soluzione che prevede l’uso della classe standalone, invece, mi sembra ottima. Allego una cartella, sperando che possa esserti utile per trovare un buon metodo di “lavoro”. Nella cartella principale trovi il file tex che genera il PDF finale. Nella cartella “animazione” invece trovi il file tex che usa la classe standalone per generare i pdf scontornati dell’animazione. Il file principale richiama il PDF ottenuto con questa classe. Basta che lavori su questo file e quando hai finito ti sposti nel file principale, compili e il gioco è fatto;
        3. Attento che i PDF che generi con la classe standalone devono avere tutti le stesse identiche dimensioni (nota l’uso di [tt]\fill [white] …[/tt]);
        4. Non so perché, ma [tt]\animategraphics[/tt] sembra ignorare la prima pagina del PDF generato con la classe standalone. Per questo motivo basta aggiungere una pagina bianca all’inizio.

        Con questa soluzione, la qualità della tua animazione rimane vettoriale. La soluzione che usa il formato GIF, invece, non la mantiene, in quanto è un formato di tipo bitmap.

        Spero di esserti stato utile. Ciao,
        Marco.

        P.S. I tag “[ ul ] … [ /ul ]” (senza spazi) non funzionano solo a me?

        [attachment=728]pdfAnimazione.zip[/attachment]

        Attachments:
        You must be logged in to view attached files.
      • #86402
        claudio
        Partecipante
          Up
          0
          Down
          ::


          non proprio vettoriale

        • #86403
          Up
          0
          Down
          ::


          Grazie Marco i tuoi suggerimenti mi sono stati utilissimi come anche il tuo esempio.

          Al momento non riesco a fare però una prova “seria” perchè nel mio file devi scrivere 3 array di dati numerici e poi utilizzarli nel for.

          Cioè io ho dei dati come questi

          `
          %x1
          25.000 24.965 24.933 24.902 24.873 24.843 24.814 24.785 24.756 24.727

          %x2
          5.000 5.035 5.072 5.112 5.152 5.192 5.233 5.274 5.314 5.355

          %x3
          2.35619 2.27633 2.23351 2.21078 2.19881 2.19255 2.18930 2.18762 2.18676 2.18633
          `

          Le coppie (x1,x2) rappresentano il centro del piccolo cerchio che devo disegnare in ogni “subfigure” dell’animazione. Quindi nel ciclo for devo accedere agli elementi degli array in questione, ma non so come farlo (a livello sintattico del codice).
          La x3 serve per calcolarmi l’angolazione dell asse delle ruote, ma se non riesco ve lo chiedo + avanti 🙂

          Ringrazio anche gli altri per il loro aiuto, ciao

          EDIT:
          Rileggendo mi viene da pensare che non sono stato chiarissimo. Ciò che mi serve è la sintassi per definire array in latex e per accedere agli elementi. Ad esempio in java farei

          int lunghezza=3;
          double vett = {0.5, 0.4, 0.6}
          for n=0; n

        • #86404
          Up
          0
          Down
          ::

          DirkPitt” post=85988Grazie Marco i tuoi suggerimenti mi sono stati utilissimi come anche il tuo esempio.

          Al momento non riesco a fare però una prova “seria” perchè nel mio file devi scrivere 3 array di dati numerici e poi utilizzarli nel for.

          Cioè io ho dei dati come questi

          `
          %x1
          25.000 24.965 24.933 24.902 24.873 24.843 24.814 24.785 24.756 24.727

          %x2
          5.000 5.035 5.072 5.112 5.152 5.192 5.233 5.274 5.314 5.355

          %x3
          2.35619 2.27633 2.23351 2.21078 2.19881 2.19255 2.18930 2.18762 2.18676 2.18633
          `

          Le coppie (x1,x2) rappresentano il centro del piccolo cerchio che devo disegnare in ogni “subfigure” dell’animazione. Quindi nel ciclo for devo accedere agli elementi degli array in questione, ma non so come farlo (a livello sintattico del codice).
          La x3 serve per calcolarmi l’angolazione dell asse delle ruote, ma se non riesco ve lo chiedo + avanti 🙂

          Ringrazio anche gli altri per il loro aiuto, ciao

          EDIT:
          Rileggendo mi viene da pensare che non sono stato chiarissimo. Ciò che mi serve è la sintassi per definire array in latex e per accedere agli elementi. Ad esempio in java farei

          int lunghezza=3;
          double vett = {0.5, 0.4, 0.6}
          for n=0; n

          Così:`\documentclass{beamer}

          \usepackage{tikz}
          % Daniel's code:
          % http://tex.stackexchange.com/questions/55806/tikzpicture-in-beamer/55827#55827
          \tikzset{
          invisible/.style={opacity=0},
          visible on/.style={alt=#1{}{invisible}},
          alt/.code args={<#1>#2#3}{%
          \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
          },
          }

          \begin{document}
          \begin{frame}{Titolo}
          \begin{tikzpicture}
          \foreach \pos[count=\xi] in {{(25,5)},{(24.965,5.035)},{(24.933,5.072)},{(24.902,5.112)}}{
          \node[draw,red,circle,visible on=<\xi>]at \pos {};
          }
          \end{tikzpicture}
          \end{frame}
          \end{document}` Attenzione: il contatore, \xi in questo esempio deve essere un valore intero e non troncato. Lo dico già ora perché io ho usato il count per semplicità, ma per cose più complesse è meglio definirsi a parte una macro. A quel punto se la definisci male, TikZ ti ritornerà dei valori .0 dove il .0 è un angolo e tutto il meccanismo va a arotoli.

          Ciao
          Claudio

        • #86405
          Up
          0
          Down
          ::

          cfiandra” post=85993

          Grazie Marco i tuoi suggerimenti mi sono stati utilissimi come anche il tuo esempio.

          Al momento non riesco a fare però una prova “seria” perchè nel mio file devi scrivere 3 array di dati numerici e poi utilizzarli nel for.

          Cioè io ho dei dati come questi

          `
          %x1
          25.000 24.965 24.933 24.902 24.873 24.843 24.814 24.785 24.756 24.727

          %x2
          5.000 5.035 5.072 5.112 5.152 5.192 5.233 5.274 5.314 5.355

          %x3
          2.35619 2.27633 2.23351 2.21078 2.19881 2.19255 2.18930 2.18762 2.18676 2.18633
          `

          Le coppie (x1,x2) rappresentano il centro del piccolo cerchio che devo disegnare in ogni “subfigure” dell’animazione. Quindi nel ciclo for devo accedere agli elementi degli array in questione, ma non so come farlo (a livello sintattico del codice).
          La x3 serve per calcolarmi l’angolazione dell asse delle ruote, ma se non riesco ve lo chiedo + avanti 🙂

          Ringrazio anche gli altri per il loro aiuto, ciao

          EDIT:
          Rileggendo mi viene da pensare che non sono stato chiarissimo. Ciò che mi serve è la sintassi per definire array in latex e per accedere agli elementi. Ad esempio in java farei

          int lunghezza=3;
          double vett = {0.5, 0.4, 0.6}
          for n=0; n

          Così:`\documentclass{beamer}

          \usepackage{tikz}
          % Daniel's code:
          % http://tex.stackexchange.com/questions/55806/tikzpicture-in-beamer/55827#55827
          \tikzset{
          invisible/.style={opacity=0},
          visible on/.style={alt=#1{}{invisible}},
          alt/.code args={<#1>#2#3}{%
          \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
          },
          }

          \begin{document}
          \begin{frame}{Titolo}
          \begin{tikzpicture}
          \foreach \pos[count=\xi] in {{(25,5)},{(24.965,5.035)},{(24.933,5.072)},{(24.902,5.112)}}{
          \node[draw,red,circle,visible on=<\xi>]at \pos {};
          }
          \end{tikzpicture}
          \end{frame}
          \end{document}` Attenzione: il contatore, \xi in questo esempio deve essere un valore intero e non troncato. Lo dico già ora perché io ho usato il count per semplicità, ma per cose più complesse è meglio definirsi a parte una macro. A quel punto se la definisci male, TikZ ti ritornerà dei valori .0 dove il .0 è un angolo e tutto il meccanismo va a arotoli.

          Ciao
          Claudio

          Ti ringrazio per l’esempio, ma non esiste un modo per definirsi gli array e poi accedervi? Io nello stesso ciclo for ho bisogno di accedere anche all’elemento in posizione “pos” anche di x3, per decidere con quale angolo rispetto all’orizzontale devo disegnare un segmento all interno del cerchio. Sto vedendo il pacchetto arrayjob per ora, http://www.ctan.org/tex-archive/macros/generic/arrayjobx

          Ciao

        • #86406
          Up
          0
          Down
          ::

          DirkPitt” post=85996

          [quote=”DirkPitt” post=85988]Grazie Marco i tuoi suggerimenti mi sono stati utilissimi come anche il tuo esempio.

          Al momento non riesco a fare però una prova “seria” perchè nel mio file devi scrivere 3 array di dati numerici e poi utilizzarli nel for.

          Cioè io ho dei dati come questi

          `
          %x1
          25.000 24.965 24.933 24.902 24.873 24.843 24.814 24.785 24.756 24.727

          %x2
          5.000 5.035 5.072 5.112 5.152 5.192 5.233 5.274 5.314 5.355

          %x3
          2.35619 2.27633 2.23351 2.21078 2.19881 2.19255 2.18930 2.18762 2.18676 2.18633
          `

          Le coppie (x1,x2) rappresentano il centro del piccolo cerchio che devo disegnare in ogni “subfigure” dell’animazione. Quindi nel ciclo for devo accedere agli elementi degli array in questione, ma non so come farlo (a livello sintattico del codice).
          La x3 serve per calcolarmi l’angolazione dell asse delle ruote, ma se non riesco ve lo chiedo + avanti 🙂

          Ringrazio anche gli altri per il loro aiuto, ciao

          EDIT:
          Rileggendo mi viene da pensare che non sono stato chiarissimo. Ciò che mi serve è la sintassi per definire array in latex e per accedere agli elementi. Ad esempio in java farei

          int lunghezza=3;
          double vett = {0.5, 0.4, 0.6}
          for n=0; n

          Così:`\documentclass{beamer}

          \usepackage{tikz}
          % Daniel's code:
          % http://tex.stackexchange.com/questions/55806/tikzpicture-in-beamer/55827#55827
          \tikzset{
          invisible/.style={opacity=0},
          visible on/.style={alt=#1{}{invisible}},
          alt/.code args={<#1>#2#3}{%
          \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
          },
          }

          \begin{document}
          \begin{frame}{Titolo}
          \begin{tikzpicture}
          \foreach \pos[count=\xi] in {{(25,5)},{(24.965,5.035)},{(24.933,5.072)},{(24.902,5.112)}}{
          \node[draw,red,circle,visible on=<\xi>]at \pos {};
          }
          \end{tikzpicture}
          \end{frame}
          \end{document}` Attenzione: il contatore, \xi in questo esempio deve essere un valore intero e non troncato. Lo dico già ora perché io ho usato il count per semplicità, ma per cose più complesse è meglio definirsi a parte una macro. A quel punto se la definisci male, TikZ ti ritornerà dei valori .0 dove il .0 è un angolo e tutto il meccanismo va a arotoli.

          Ciao
          Claudio

          Ti ringrazio per l’esempio, ma non esiste un modo per definirsi gli array e poi accedervi? Io nello stesso ciclo for ho bisogno di accedere anche all’elemento in posizione “pos” anche di x3, per decidere con quale angolo rispetto all’orizzontale devo disegnare un segmento all interno del cerchio. Sto vedendo il pacchetto arrayjob per ora, http://www.ctan.org/tex-archive/macros/generic/arrayjobx

          Ciao[/quote]
          Beh certo che esiste un modo per definire array eccetera, ma credo tu ti stia complicando la vita inutilmente. Devi aggiungere il parametro x3? Cambia il ciclo:`
          \foreach \pos/\parametrox3[count=\xi] in {{(25,5)}/0,{(24.965,5.035)/0},{(24.933,5.072)/0},{(24.902,5.112)/0}}
          ` e poi potrai usare \pos e \parametrox3 come meglio credi (io sulla storia degli angoli passo: non ho capito cosa devi fare e come si potrebbe fare).

          Ora, invece, per complicarti la vita, ti allego qualche collegamento su come implementare delle liste: Enrico ti direbbe di usare LaTeX3, ne sono sicuro :wink:, ma ci sono anche altri modi. Una bella carrellata, è un esempio indiretto, ma il messaggio è facile da cogliere, la trovi qui (in particolare guarda con attenzione la risposta di Andrew). In realtà pgfplots se non ricordo male ha un suo modo per gestire le liste, ma non ci ho mai fatto troppo caso. Infine, esiste anche questa possibilità che non è male.

          Ciao
          Claudio

        • #86407
          Up
          0
          Down
          ::

          cfiandra” post=85998

          [quote=”cfiandra” post=85993][quote=”DirkPitt” post=85988]Grazie Marco i tuoi suggerimenti mi sono stati utilissimi come anche il tuo esempio.

          Al momento non riesco a fare però una prova “seria” perchè nel mio file devi scrivere 3 array di dati numerici e poi utilizzarli nel for.

          Cioè io ho dei dati come questi

          `
          %x1
          25.000 24.965 24.933 24.902 24.873 24.843 24.814 24.785 24.756 24.727

          %x2
          5.000 5.035 5.072 5.112 5.152 5.192 5.233 5.274 5.314 5.355

          %x3
          2.35619 2.27633 2.23351 2.21078 2.19881 2.19255 2.18930 2.18762 2.18676 2.18633
          `

          Le coppie (x1,x2) rappresentano il centro del piccolo cerchio che devo disegnare in ogni “subfigure” dell’animazione. Quindi nel ciclo for devo accedere agli elementi degli array in questione, ma non so come farlo (a livello sintattico del codice).
          La x3 serve per calcolarmi l’angolazione dell asse delle ruote, ma se non riesco ve lo chiedo + avanti 🙂

          Ringrazio anche gli altri per il loro aiuto, ciao

          EDIT:
          Rileggendo mi viene da pensare che non sono stato chiarissimo. Ciò che mi serve è la sintassi per definire array in latex e per accedere agli elementi. Ad esempio in java farei

          int lunghezza=3;
          double vett = {0.5, 0.4, 0.6}
          for n=0; n

          Così:`\documentclass{beamer}

          \usepackage{tikz}
          % Daniel's code:
          % http://tex.stackexchange.com/questions/55806/tikzpicture-in-beamer/55827#55827
          \tikzset{
          invisible/.style={opacity=0},
          visible on/.style={alt=#1{}{invisible}},
          alt/.code args={<#1>#2#3}{%
          \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
          },
          }

          \begin{document}
          \begin{frame}{Titolo}
          \begin{tikzpicture}
          \foreach \pos[count=\xi] in {{(25,5)},{(24.965,5.035)},{(24.933,5.072)},{(24.902,5.112)}}{
          \node[draw,red,circle,visible on=<\xi>]at \pos {};
          }
          \end{tikzpicture}
          \end{frame}
          \end{document}` Attenzione: il contatore, \xi in questo esempio deve essere un valore intero e non troncato. Lo dico già ora perché io ho usato il count per semplicità, ma per cose più complesse è meglio definirsi a parte una macro. A quel punto se la definisci male, TikZ ti ritornerà dei valori .0 dove il .0 è un angolo e tutto il meccanismo va a arotoli.

          Ciao
          Claudio

          Ti ringrazio per l’esempio, ma non esiste un modo per definirsi gli array e poi accedervi? Io nello stesso ciclo for ho bisogno di accedere anche all’elemento in posizione “pos” anche di x3, per decidere con quale angolo rispetto all’orizzontale devo disegnare un segmento all interno del cerchio. Sto vedendo il pacchetto arrayjob per ora, http://www.ctan.org/tex-archive/macros/generic/arrayjobx

          Ciao[/quote]
          Beh certo che esiste un modo per definire array eccetera, ma credo tu ti stia complicando la vita inutilmente. Devi aggiungere il parametro x3? Cambia il ciclo:`
          \foreach \pos/\parametrox3[count=\xi] in {{(25,5)}/0,{(24.965,5.035)/0},{(24.933,5.072)/0},{(24.902,5.112)/0}}
          ` e poi potrai usare \pos e \parametrox3 come meglio credi (io sulla storia degli angoli passo: non ho capito cosa devi fare e come si potrebbe fare).

          Ora, invece, per complicarti la vita, ti allego qualche collegamento su come implementare delle liste: Enrico ti direbbe di usare LaTeX3, ne sono sicuro :wink:, ma ci sono anche altri modi. Una bella carrellata, è un esempio indiretto, ma il messaggio è facile da cogliere, la trovi qui (in particolare guarda con attenzione la risposta di Andrew). In realtà pgfplots se non ricordo male ha un suo modo per gestire le liste, ma non ci ho mai fatto troppo caso. Infine, esiste anche questa possibilità che non è male.

          Ciao
          Claudio[/quote]

          Semplicemente non sapevo che si potessero definire indici multipli 🙂
          Grazie ancora!

          PS. Comunque devo semplicemente disegnare l asse delle ruote del robot in modo che sia orientato rispetto all’orizzontale in modo che si capisce nell animazione verso dove è orientato il robot (so che si capirebbe anche solo dal movimento, ma l asse devo disegnarlo per forza e quindi deve essere orientato per bene!). Cmq ho già idea di come fare, in fondo basta calcolarmi due punti un poco dentro la circonferenza che siano uno a x3-pi/2 e uno a x3+pi/2 e poi congiungerli (credo, ma devo provare!)

        • #86408
          Up
          0
          Down
          ::


          Sono riuscito a produrre il pdf che ho messo in allegato. Ho notato però che esso non viene visualizzato con lo scorrimento automatico come in questo esempio che mi aveva passato Claudio all’inizio della discussione (sto provando con Adobe Reader). Dove sbaglio?

          `
          \documentclass[tikz]{standalone}

          \usepackage{pgfplots}
          \usepackage{verbatim}
          \begin{document}
          \foreach \x/\y/\ang in{%
          {25.000/5.000/2.35619, 24.965/5.035/2.27633, 24.933/5.072/2.23351, 24.902/5.112/2.21078, 24.873/5.152/2.19881}
          %vi risparmio gli altri 500
          \begin{tikzpicture}
          \begin{axis}[xlabel=$x_1$, ylabel=$x_2$, xmax=27, xmin=8, ymin=3, ymax=25]
          \draw[black] (axis cs:\x,\y) circle (0.2cm);
          \path (axis cs: \x,\y) ++(\ang*180/3.14:0.15cm) coordinate (tmp);
          \node at (tmp) [draw, fill=black,shape=circle, inner sep=0pt, minimum size=1pt] (n) {};
          \path (axis cs: \x,\y) ++(\ang*180/3.1416 – 90:0.15cm) coordinate (p1);
          \path (axis cs: \x,\y) ++(\ang*180/3.1416 + 90:0.15cm) coordinate (p2);
          \draw[thick] (p1)–(p2);
          \end{axis}
          \end{tikzpicture}
          }
          \end{document}

          `

          Non mi fa allegare il pdf

        • #86409
          Up
          0
          Down
          ::

          DirkPitt” post=86003Sono riuscito a produrre il pdf che ho messo in allegato. Ho notato però che esso non viene visualizzato con lo scorrimento automatico come in questo esempio che mi aveva passato Claudio all’inizio della discussione (sto provando con Adobe Reader). Dove sbaglio?

          `
          \documentclass[tikz]{standalone}

          \usepackage{pgfplots}
          \usepackage{verbatim}
          \begin{document}
          \foreach \x/\y/\ang in{%
          {25.000/5.000/2.35619, 24.965/5.035/2.27633, 24.933/5.072/2.23351, 24.902/5.112/2.21078, 24.873/5.152/2.19881}
          %vi risparmio gli altri 500
          \begin{tikzpicture}
          \begin{axis}[xlabel=$x_1$, ylabel=$x_2$, xmax=27, xmin=8, ymin=3, ymax=25]
          \draw[black] (axis cs:\x,\y) circle (0.2cm);
          \path (axis cs: \x,\y) ++(\ang*180/3.14:0.15cm) coordinate (tmp);
          \node at (tmp) [draw, fill=black,shape=circle, inner sep=0pt, minimum size=1pt] (n) {};
          \path (axis cs: \x,\y) ++(\ang*180/3.1416 – 90:0.15cm) coordinate (p1);
          \path (axis cs: \x,\y) ++(\ang*180/3.1416 + 90:0.15cm) coordinate (p2);
          \draw[thick] (p1)–(p2);
          \end{axis}
          \end{tikzpicture}
          }
          \end{document}

          `

          Non mi fa allegare il pdf

          In realtà non hai sbagliato nulla: serve creare un .gif a partire dal file pdf. Io personalmente uso GIMP, ma si può fare anche con ImageMagick: vedi qui.

          Ciao
          Claudio

        • #86410
          Up
          0
          Down
          ::

          cfiandra” post=86005

          Sono riuscito a produrre il pdf che ho messo in allegato. Ho notato però che esso non viene visualizzato con lo scorrimento automatico come in questo esempio che mi aveva passato Claudio all’inizio della discussione (sto provando con Adobe Reader). Dove sbaglio?

          `
          \documentclass[tikz]{standalone}

          \usepackage{pgfplots}
          \usepackage{verbatim}
          \begin{document}
          \foreach \x/\y/\ang in{%
          {25.000/5.000/2.35619, 24.965/5.035/2.27633, 24.933/5.072/2.23351, 24.902/5.112/2.21078, 24.873/5.152/2.19881}
          %vi risparmio gli altri 500
          \begin{tikzpicture}
          \begin{axis}[xlabel=$x_1$, ylabel=$x_2$, xmax=27, xmin=8, ymin=3, ymax=25]
          \draw[black] (axis cs:\x,\y) circle (0.2cm);
          \path (axis cs: \x,\y) ++(\ang*180/3.14:0.15cm) coordinate (tmp);
          \node at (tmp) [draw, fill=black,shape=circle, inner sep=0pt, minimum size=1pt] (n) {};
          \path (axis cs: \x,\y) ++(\ang*180/3.1416 – 90:0.15cm) coordinate (p1);
          \path (axis cs: \x,\y) ++(\ang*180/3.1416 + 90:0.15cm) coordinate (p2);
          \draw[thick] (p1)–(p2);
          \end{axis}
          \end{tikzpicture}
          }
          \end{document}

          `

          Non mi fa allegare il pdf

          In realtà non hai sbagliato nulla: serve creare un .gif a partire dal file pdf. Io personalmente uso GIMP, ma si può fare anche con ImageMagick: vedi qui.

          Ciao
          Claudio

          Grazie ancora per la risposta. Ma sono necessari entrambi i programmi o solo gimp va bene (ce l ho già installato sul mio ubuntu) ?. Cercando in rete ho trovato varie guide ma tutte terminano con l invocazione di un comando di image magick.

        • #86411
          Up
          0
          Down
          ::

          DirkPitt” post=86006

          In realtà non hai sbagliato nulla: serve creare un .gif a partire dal file pdf. Io personalmente uso GIMP, ma si può fare anche con ImageMagick: vedi qui.

          Ciao
          Claudio

          Grazie ancora per la risposta. Ma sono necessari entrambi i programmi o solo gimp va bene (ce l ho già installato sul mio ubuntu) ?. Cercando in rete ho trovato varie guide ma tutte terminano con l invocazione di un comando di image magick.

          No, anche solo GIMP va bene. La procedura in breve:
          – apri il pdf con GIMP e importi tutte le pagine;
          – su una finestrella a destra inverti l’ordine delle pagine (devono essere in ordine decrescente);
          – esporti e al momento di selezionare il nome del file scrivi : scegli di fare l’animazione e imposti la durata fra due frame.

          Fatto!!! 🙂

          Ciao
          Claudio

      Visualizzazione 13 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top