animazioni cancellare il frame precedente

  • Creatore
    Topic
  • #69872
    claudio
    Partecipante
      Up
      0
      Down
      ::


      il problema è questo
      spostare un triangolo dalla parte sinistra del foglio e farlo coincidere con un triangolo a destra
      cosa che bene o male penso di aver risolto
      Vorrei rendere il movimento in modo che nel foglio vi sia il triangolo di partenza, il triangolo di arrivo e il triangolo in volo….
      Ho risolto nella maniera seguente ma mi sembra che la resa non sia ottimale visto che rimane l’alone (corretto?)
      dei triangoli precedenti.
      Ecco il codice
      `
      \begin{animateinline}[
      begin={
      \begin{tikzpicture}[scale=0.6]\clip (-0.6,-0.2) rectangle (15.5,7);
      },
      end={\end{tikzpicture}},controls,timeline=time2.txt]{1}
      \fill[black] node at (0,3) {$\bullet$};
      \fill[black] node at (2,6) {$\bullet$};
      \fill[black] node at (2,0) {$\bullet$};
      %1
      \draw (0,3) — (2,6) — (2,0) — cycle;
      %6
      \fill[black] node at (9,0) {$\bullet$};
      \fill[black] node at (15,0) {$\bullet$};
      \fill[black] node at (12,2) {$\bullet$};
      \draw (9,0) — (15,0) — (12,2) — cycle;
      \newframe
      \draw (3,3) — (5,0) — (5,6) — cycle;
      \newframe
      \draw (3,3) — (5,0) — (5,6) — cycle;
      \draw (6,3) — (8,0) — (8,6) — cycle;
      \newframe
      \draw (6,3) — (8,0) — (8,6) — cycle;
      \draw (9,3) — (15,3) — (12,5) — cycle;
      \newframe
      \draw (9,3) — (15,3) — (12,5) — cycle;
      \draw (9,1) — (15,1) — (12,3) — cycle;
      \newframe
      \draw (9,1) — (15,1) — (12,3) — cycle;
      \draw (9,0) — (15,0) — (12,2) — cycle;
      \end{animateinline}
      `

      è il modo corretto con cui si procede in questi casi?
      saluti
      claudio

    Visualizzazione 2 filoni di risposte
    • Autore
      Risposte
      • #69873
        admin
        Amministratore del forum
          Up
          0
          Down
          ::


          Non so se il codice è corretto, se non altro perché non è compilabile: mancano pacchetti e file necessari; in questo modo nessuno potrà dirti nulla.

          Ciao
          Orlando

        • #69874
          claudio
          Partecipante
            Up
            0
            Down
            ::


            ecco il codice
            `
            \documentclass[10pt,a4paper]{article}
            \usepackage{animate}
            \usepackage{graphicx}
            \usepackage{pgf,tikz}
            \begin{document}
            \begin{animateinline}[
            begin={
            \begin{tikzpicture}[scale=0.6]\clip (-0.6,-0.2) rectangle (15.5,7);
            },
            end={\end{tikzpicture}},controls,timeline=time2.txt]{1}
            \fill[black] node at (0,3) {$\bullet$};
            \fill[black] node at (2,6) {$\bullet$};
            \fill[black] node at (2,0) {$\bullet$};
            %1
            \draw (0,3) — (2,6) — (2,0) — cycle;
            %6
            \fill[black] node at (9,0) {$\bullet$};
            \fill[black] node at (15,0) {$\bullet$};
            \fill[black] node at (12,2) {$\bullet$};
            \draw (9,0) — (15,0) — (12,2) — cycle;
            \newframe
            \draw (3,3) — (5,0) — (5,6) — cycle;
            \newframe
            \draw (3,3) — (5,0) — (5,6) — cycle;
            \draw (6,3) — (8,0) — (8,6) — cycle;
            \newframe
            \draw (6,3) — (8,0) — (8,6) — cycle;
            \draw (9,3) — (15,3) — (12,5) — cycle;
            \newframe
            \draw (9,3) — (15,3) — (12,5) — cycle;
            \draw (9,1) — (15,1) — (12,3) — cycle;
            \newframe
            \draw (9,1) — (15,1) — (12,3) — cycle;
            \draw (9,0) — (15,0) — (12,2) — cycle;
            \end{animateinline}
            \end{document}

            `
            il file time2.txt è questo
            `
            ::0x0
            ::1×0
            ::2×0
            ::3×0
            ::4×0
            ::5×0
            `

          • #69875
            claudio
            Partecipante
              Up
              0
              Down
              ::


              forse ho risolto
              non mi pare elegante ma credo che funzioni
              `
              \documentclass[10pt,a4paper]{article}
              \usepackage[latin1]{inputenc}
              \usepackage{amsmath}
              \usepackage{amsfonts}
              \usepackage{amssymb}

              \usepackage{animate}
              \usepackage{graphicx}
              \usepackage{pgf,tikz}
              \begin{document}
              \begin{animateinline}[
              begin={
              \begin{tikzpicture}[scale=0.6]\clip (-0.6,-0.2) rectangle (15.5,7);
              },
              end={\end{tikzpicture}},controls,timeline=time2.txt]{1}
              \fill[black] node at (0,3) {$\bullet$};
              \fill[black] node at (2,6) {$\bullet$};
              \fill[black] node at (2,0) {$\bullet$};
              %1
              \draw (0,3) — (2,6) — (2,0) — cycle;
              %6
              \fill[black] node at (9,0) {$\bullet$};
              \fill[black] node at (15,0) {$\bullet$};
              \fill[black] node at (12,2) {$\bullet$};
              \draw (9,0) — (15,0) — (12,2) — cycle;
              \newframe
              \draw (3,3) — (5,0) — (5,6) — cycle;
              \newframe
              \fill[white] (-0.6,-0.2) rectangle (15.5,7);
              \fill[black] node at (0,3) {$\bullet$};
              \fill[black] node at (2,6) {$\bullet$};
              \fill[black] node at (2,0) {$\bullet$};
              %1
              \draw (0,3) — (2,6) — (2,0) — cycle;
              %6
              \fill[black] node at (9,0) {$\bullet$};
              \fill[black] node at (15,0) {$\bullet$};
              \fill[black] node at (12,2) {$\bullet$};
              \draw (9,0) — (15,0) — (12,2) — cycle;
              \draw (6,3) — (8,0) — (8,6) — cycle;
              \newframe
              \fill[white] (-0.6,-0.2) rectangle (15.5,7);
              \fill[black] node at (0,3) {$\bullet$};
              \fill[black] node at (2,6) {$\bullet$};
              \fill[black] node at (2,0) {$\bullet$};
              %1
              \draw (0,3) — (2,6) — (2,0) — cycle;
              %6
              \fill[black] node at (9,0) {$\bullet$};
              \fill[black] node at (15,0) {$\bullet$};
              \fill[black] node at (12,2) {$\bullet$};
              \draw (9,0) — (15,0) — (12,2) — cycle;
              \draw (9,3) — (15,3) — (12,5) — cycle;
              \newframe
              \fill[white] (-0.6,-0.2) rectangle (15.5,7);
              \fill[black] node at (0,3) {$\bullet$};
              \fill[black] node at (2,6) {$\bullet$};
              \fill[black] node at (2,0) {$\bullet$};
              %1
              \draw (0,3) — (2,6) — (2,0) — cycle;
              %6
              \fill[black] node at (9,0) {$\bullet$};
              \fill[black] node at (15,0) {$\bullet$};
              \fill[black] node at (12,2) {$\bullet$};
              \draw (9,0) — (15,0) — (12,2) — cycle;
              \draw (9,1) — (15,1) — (12,3) — cycle;
              \newframe
              \fill[white] (-0.6,-0.2) rectangle (15.5,7);
              \fill[black] node at (0,3) {$\bullet$};
              \fill[black] node at (2,6) {$\bullet$};
              \fill[black] node at (2,0) {$\bullet$};
              %1
              \draw (0,3) — (2,6) — (2,0) — cycle;
              %6
              \fill[black] node at (9,0) {$\bullet$};
              \fill[black] node at (15,0) {$\bullet$};
              \fill[black] node at (12,2) {$\bullet$};

              \draw (9,0) — (15,0) — (12,2) — cycle;
              \end{animateinline}
              \end{document}
              `
              per un’animazione semplice così si tratta di ripetere poche righe di codice ma se la scena è più complessa come si fa?

              in pratica bisognerebbe definire un nuovo comando che ridisegni la scena di base
              [code]
              \inizio
              \disegna_scena_sfondo
              \newframe
              \disegna_scena_sfondo
              \disegna_elemento_in_movimento
              \newframe
              \disegna_scena_sfondo
              \disegna_elemento_in_movimento
              \newframe
              \disegna_scena_sfondo
              \disegna_elemento_in_movimento
              \newframe
              …..

              \fine
              [\code]

              in pratica come si definiscono i comandi in tikz?

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

          Go to top