Maple osaa myös animoida eli tehdä useita kuvia ja näyttää
ne peräkkäin. Tähän löytyy plots-paketista
animate,
animate3d ja animatecurve- komennot. Paketin käyttöönotto
tapahtuu with(plots)-komennolla, jolloin ladataan kaikki paketin komennot
(katso alla). Toinen vaihtoehto on with(plots, animate), jolloin
ladattaisiin pelkästään animate-komento.
> with(plots);
[animate, animate3d, animatecurve, changecoords, complexplot, complexplot3d, conformal, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, display3d, fieldplot, fieldplot3d, gradplot, gradplot3d, implicitplot, implicitplot3d, inequal, listcontplot, listcontplot3d, listdensityplot, listplot, listplot3d, loglogplot, logplot, matrixplot, odeplot, pareto, pointplot, pointplot3d, polarplot, polygonplot, polygonplot3d, polyhedra_supported, polyhedraplot, replot, rootlocus, semilogplot, setoptions, setoptions3d, spacecurve, sparsematrixplot, sphereplot, surfdata, textplot, textplot3d, tubeplot]
Animaatioiden tuotto esimerkiksi animate-komennolla on helppoa. Esimerkiksi komento
> animate(sin(x*t),x=0..2*Pi,t=0..2);
piirtää funktion x -> sin(x,t) välillä [0,2*Pi] eri parametrin t arvoilla, ja näyttää kuvat sitten peräkkäin.
Määritellään aluksi kompleksimuuttujan kompleksiarvoinen funktio moebius,
> moebius:=(z,a)->((2+a*I)*z + (2-a*3*I))/(a*(3+1*I)*z+(2+I));
Tässä määrittelyssä on myös toinen (reaali)parametri, jonka arvoa muuttamalla on tarkoitus tehdä animaatio. Tämän jälkeen määritellään yksi kuva tuotettavaksi siten, että parametrin t arvolla kuvataan edellisellä moebius-kuvauksella kompleksitason neliö [0,1] x [0,1] ja piirretään näin saatu uusi joukko. Tämän tekee automaattisesti conformal-komento.
> kuva:=t->conformal(moebius(z,t),z=0..1+I,grid=[21,21]);
Tämän määrittelyn jälkeen yksi kuva voidaan piirtää komennolla kuva(parametrin arvo), ja tulos on jotain alla olevan näköistä.
Kuvajonon tuottaminen tapahtuu seq-komennolla (kuten yleensäkin jonojen muodostaminen). Alkuperäinen muuttuja saa kokonaislukuarvot 0..100, jonka perusteella piirrettää, kuva parametrin arvolla 0.01*t. Tämän jälkeen listan kuvat esitettän peräkkäin display-komennolla asettamalla option insequence arvoksi true, muuten kuvat piirrettäisiin kaikki päällekkäin samaan kuvaan.
> display(seq(kuva(0.01*t),t=0..100),insequence=true);
Oletusarvoisesti kaikki tulostus tulee kuvaruutuun, mutta kuten alussa todettiin, on mahdollista käyttää myös muita tulostuslaitteita. Näiden määrääminen tapahtuu plotsetup-komennolla, jolle annetaan ensimmäisenä parametrina käytettävä laite, esimerkiksi gif- tai jpeg-tulostus. Tämä tulostus ohjataan johonkin tiedostiin, jonka nimi annetaan plotoutput-vaihtoehtona. Alla esimerkiksi käytetään gif-tulostus toedostoon animaatio.gif ja asetetaan kuvan kooksi 256 x 256 pikseliä. Ja koska meidän tulostuksemme sisältää monta kuvaa (animaatio), on gif-tiedosto myös gif-animaatio. Laskennan jälkeen tuloksena on valmis gif-kuva esimerkiksi web-sivulle.
> kuva:=t->conformal(moebius(z,t),z=0..1+I,grid=[21,21]);
> plotsetup(gif,plotoutput="animaatio.gif",plotoptions="width=256,height=256");
Näiden kahden komennon ja edeltävän moebius-määritelmän avulla saatiin aikaiseksi seuraava animaatio.