Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 23. 02. 2009 16:28

Pavel
Místo: Ostrava/Rychvald
Příspěvky: 1828
Škola: OU
Pozice: EkF VŠB-TUO
Reputace:   135 
 

LaTex - Metapost - Animace

Chtěl bych se zeptat, jestli náhodou někdo neví, jak vytvořít v LaTexu "matematické animace". Zatím vytvářím jen statické obrázky v Metapostu. Jde mi např. o animaci, pomocí níž bych mohl studentům vysvětlit konstrukci grafu inverzní funkce pomocí grafu funkce původní, apod. Věděl by někdo o něčem?


Backslash je v TeXu tak důležitý jako nekonečno při dělení nulou v tělesech charakteristiky 0.

Offline

 

#2 23. 02. 2009 17:22

Lukee
Administrátor
Místo: Opava
Příspěvky: 1866
Škola: UPOL, Informatika
Pozice: Roznašeč reklamních bannerů
Web
 

Re: LaTex - Metapost - Animace

↑ Pavel:
Animace v LaTeXu snad vytvořit nejde, co vím, tak je to jen popis umístění několika boxíků se znaky... Můžeš teda buď vždy v následujícím slajdu přidat nějakou čáru a "animace" bude řešena pomocí přeskočení na další stránku PDF. Další možnost je naučit se třeba Flash a tam si to naskriptovat. Ta videa dole jsou dělaná právě ve Flashi.


2+2=4

Offline

 

#3 23. 02. 2009 21:16

kaja.marik
Veterán
Příspěvky: 1915
Reputace:   57 
 

Re: LaTex - Metapost - Animace

Animace v latexu se daji vytvorit tak, ze se pospojují stránky PDF souboru. Treba http://old.mendelu.cz/~marik/latex/animations/

Ty PDF soubory jsou hotove animace, ten TeX soubor zdrojak k jine animaci.

Makra na tvorbu animaci jsou napr. animfig, animate a pdfanim

Ctenar musi pouzit adobe reader a mit zaple javascripty (vetsinou to plati, v debianu je na to samostatny balicek s pluginama do adobe readeru) a pokud ma linux tak se musi smirit s tim, ze vetsi animace behaji pomalu.

Offline

 

#4 23. 02. 2009 21:29

Marian
Místo: Mosty u Jablunkova
Příspěvky: 2512
Škola: OU
Pozice: OA, VSB-TUO
Reputace:   67 
 

Re: LaTex - Metapost - Animace

↑ Lukee:↑ Pavel:

Není pravda, že nelze vytvářet na úrovni LaTeXu animace. Slouží k tomu relativně dobře balíček animate.sty. V TeXLive 2008 je nainstalovaný, dokumentace je k dispozici taktéž (docela zdařilá) zde. Motá se do toho trochu třeba i PostScript, ale nebál bych se toho. V konkrétních případech bude možná zapotřebí sepsat i nějaké makro (záleží, jaká animace to má být).

Navíc se mi více líbí generování grafiky s PSTricks, TikZ nebo pgf (vše v TeXLive 2008). Dle mého názoru nesrovnatelně snadněji získatelné vynikající obrázky. V Metapostu je to někdy příliš pracné a míchání metapostovského kódu v TeXu nedělá takovou dobrotu jako ostatní alternativy, které jsem uvedl.

Jako příklad bych uvedl třeba Ulamovu spirálu
http://forum.matweb.cz/upload/714-ulam.png

Code:

\documentclass{article}
\RequirePackage{ifthen,fullpage}
\RequirePackage{tikz}
\newcounter{cmpt}
\newcounter{next}
\newcounter{end}
\makeatletter
\newcounter{prim@r}
\newcounter{prim@a}
\newcounter{prim@n}
\newcounter{prim@d}
\newcounter{prim@b}
\newboolean{tkzaIsAPrim}
%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
% test if #1 is a prim number result set boolean :tkzaIsAPrim
%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
\newcommand*\primality[1]{%
\setboolean{tkzaIsAPrim}{true}%
\setcounter{prim@a}{#1}%
   \ifthenelse{#1 = 0}{%
     \setboolean{tkzaIsAPrim}{false}}{%
     \ifthenelse{#1 = 1}{%
       \setboolean{tkzaIsAPrim}{false}}{%
       \ifthenelse{#1 = 2}{}{%
          \ifthenelse{#1 = 3}{}{%
             \ifthenelse{\isodd{#1}}{%
               \setcounter{prim@d}{3}%
               \whiledo{\value{prim@a} > \value{prim@d}}{%
                  \pgfmathsetcounter{prim@r}{mod(\theprim@a,\theprim@d)}%
                  \ifthenelse{\value{prim@r} = 0}{%
                    \setboolean{tkzaIsAPrim}{false}%
                    \setcounter{prim@d}{\theprim@a}}{%
                    \pgfmathaddtocounter{prim@d}{2}
                   }%
               }% fin du whiledo
               }{%
               \setboolean{tkzaIsAPrim}{false}%
             }%
            }%
          }%
        }%
     }%
}%
\makeatother

\newcommand*\ballcolor{%
\stepcounter{cmpt}
\primality{\value{cmpt}}
\ifthenelse{\boolean{tkzaIsAPrim}}{%
\colorlet{colornb}{blue!50}}{%
\colorlet{colornb}{orange!60}}%
}

\newcommand*{\ulam}[2]{%
\setcounter{cmpt}{#1}
\addtocounter{cmpt}{-1}
\setcounter{next}{0}
\setcounter{end}{#2}

\ballcolor
\node(place) at (0,0)  {$\mathbf\thecmpt$};

\whiledo{\value{cmpt}<\value{end}}%
{
\foreach \i in {0,...,\thenext} 
{\ballcolor
\node[above of=place] (place) {$\mathbf\thecmpt$};
}
\foreach \i in {0,...,\thenext} 
{\ballcolor
\node[right of=place] (place) {$\mathbf\thecmpt$};
}
\stepcounter{next}
\foreach \i in {0,...,\thenext} 
{\ballcolor
\node[below of=place] (place) {$\mathbf\thecmpt$};
}
\foreach \i in {0,...,\thenext} 
{\ballcolor
\node[left of=place] (place) {$\mathbf\thecmpt$};
}
\stepcounter{next}
}
\addtocounter{next}{-1}
\foreach \i in {0,...,\thenext} 
{\ballcolor
\node[above of=place] (place) {$\mathbf\thecmpt$};}
}
\begin{document}
\begin{center}
\begin{tikzpicture}
  \tikzstyle{every node}=[draw,%
                          rectangle,%
                          shade,%
                          minimum size  = 1.6cm,%
                          ball color    = colornb,%
                          node distance = 1.6cm] 
\ulam{41}{113}
\end{tikzpicture}
\end{center}
\end{document}

Offline

 

#5 02. 06. 2009 02:26

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: LaTex - Metapost - Animace

Akorát s podporou napříč prohlížeči je to pokulhávající. Používám Evince, protože je poměrně malý, v Ubuntu je mezi základními programy a zvládá djvu,tiff,ps,pdf,png,... ale s PDF animacemi si neporadí. Zkoušel jsem i okular a xpdf, oboje bez výsledku, až Acrobat Reader to zachránil.


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson