Résultats de recherche pour : gif

Création d’un gif camembert

Alors, oui, mon titre est complètement con… Mais quand on n’a pas d’imagination, on fait ce qu’on peut… Dans cet article, je vais créer un GIF avec \(\LaTeX\) et Gimp.

Créer un GIF avec \(\LaTeX\), Python et ImageMagick

Le résultat à obtenir

Dans un article précédent, je vous expliquais comment créer un GIF avec \(\LaTeX\), et avec une manipulation Gimp. Trouvant la dernière étape un peu… (comment dire pour rester poli ?) … pénible, je vous propose un combi \(\LaTeX\) + Python + ImageMagick.

Créer des animations GIF avec Geogebra : mission impossible ?

Geogebra n’est plus à présenter. Ce logiciel de géométrie (entre autre) permet quelque fois de présenter en cours des choses plutôt sympas.

Dans cet article, je vais prendre pour prétexte une activité que j’avais proposée à mes élèves de 6ème afin de créer une animation et au final, un Gif.

Sources LaTeX des Gifs animés

Cette section est réservée aux abonné.e.s de ce site. Merci de votre compréhension.

Gifs animés

On peut créer des GIFs (animés… oui, c’est un pléonasme) avec beaucoup de logiciels, y compris en ligne. Mais quand on a une idée bien précise de ce que l’on veut faire et qu’on sait créer les dessins avec \(\LaTeX\), il est dommage de se casser la tête pour rien…

Quelques exemples

Une astroïde

Un exemple d’utilisation de tkz-tools

Convergence de la loi binomiale

loi binomiale

Construire une droite parallèle

Le flocon de Von Koch

Flocon de Von Koch

Comment créer un GIF ?

Du côté de \(\LaTeX\)

Avant tout, il vous faut créer une série d’images avec \(\LaTeX\). Le code suivant donne le squelette d’un tel document :

\documentclass{article}
\usepackage{tikz,amssymb}
\usepackage[paperwidth=10cm,paperheight=10cm,margin=0cm]{geometry}
\setlength{\parindent}{0pt}
\begin{document}
\foreach\a in {...}
{
code du dessin
}
\end{document}

Ici, on précise avant tout chose (dans l’en-tête) les dimension de l’image (ici, 10 cm x 10 cm) ligne 3.

Ensuite, on créée une boucle (foreach – commande disponible en chargeant TiKZ, mais on aurait pu aussi utiliser le package multido) qui contiendra les dessins : il faudra donc que la variable (ici : \a) apparaisse dans le code.

Ce code va générer n pages (selon votre boucle).

Du côté de Gimp

Une fois le PDF généré, avec Gimp (logiciel de dessin), ouvrez le PDF en sélectionnant toutes les pages. Si les première et dernière pages sont vides, désélectionnez-les.

Ensuite, allez dans le menu CalquesPileInverser l’ordre des calques.

Vous n’avez plus qu’à faire [Ctrl]+[Maj]+[E] pour exporter le résultat, et mettre une extension “.gif”. Cochez dans la fenêtre qui apparaît la case “En tant qu’animation” et modifier, si vous le souhaiter, les autres informations (délai entre deux images).

Un exemple complet

Le code suivant :

\documentclass{article}
\usepackage{tikz,amssymb}
\usepackage[paperwidth=10cm,paperheight=10cm,margin=0cm]{geometry}
\setlength{\parindent}{0pt}
\begin{document}
\foreach\a in {-180,-170,...,180}
{
\begin{tikzpicture}[>=latex]
\draw[->] (-5,0) -- (5,0);
\draw[->] (0,-5) -- (0,5);
\draw (0,0) circle (4cm);
\node[below left] at (0,0) {$O$};
\node[below left,blue] at (-4,0) {$-\pi$};
\node[above left,red] at (-4,0) {$\pi$};
\node[below right] at (4,0) {0};
\draw[->] (35:4.5) arc (35:75:4.5cm);
\node[above right] at (55:4.5) {$+$};
\ifnum\a<-90
\fill[blue] (\a:4) circle (2pt) node[below left] {$M$};
\else
\ifnum\a<0
\fill[blue] (\a:4) circle (2pt) node[below right] {$M$};
\else
\ifnum\a<90
\fill[red] (\a:4) circle (2pt) node[above right] {$M$};
\else
\fill[red] (\a:4) circle (2pt) node[above left] {$M$};
\fi
\fi
\fi
\end{tikzpicture}
}
\end{document}

fournit un document PDF qui permet de créer le GIF suivant :

Créer un GIF en LaTeX

Téléchargement des sources des exemples de cette page

Les abonné.e.s de ce site auront la joie de trouver certains codes sources des GIFs de cette page (Flocon de Von Koch, Droite parallèle et Loi binomiale) ici.

Sources \(\LaTeX\) des livres pour les abonné.e.s

Cette section est réservée aux abonné.e.s de ce site. Merci de votre compréhension.

Un problème abordable au collège

La question est simple : quelle est la longueur AE dans la figure suivante ?

Que vaut AE ?

Créer une arborescence avec Python et \(\LaTeX\)

Dans cet article, nous parlerons d’une façon de construire une arborescence en \(\LaTeX\) à l’aide de Python. Nous allons parler d’arbre informatique pour obtenir un résultat comme celui-ci:

Arborescence créée en \(\LaTeX\) à l’aide de Python

Un beau sapin de Noël en Python

Pour illustrer cette période de Noël, et pour rester tout de même dans la thématique de mon site, rien de tel qu’un code Python pour faire uh beau sapin de Noël… Mais là, je ne vous parle pas du sapin pourri du genre:

Sapin de Noël bien pourri

Une enveloppe astroïdale obtenue en Python avec Turtle

L’enveloppe de cette famille de cercles est une astroïde

L’objectif de cet article est de construire cette suite de cercles rouges à l’aide de Python et de son module Turtle.

Approche mathématique

Avant toute chose, il est nécessaire de comprendre comment sont obtenus tous les cercles rouges.

Si on regarde et analyse bien la figure, les tracés suggèrent que pour un angle \(\alpha\) donné, exprimé en degré, on trace un segment d’origine O (si on se place dans un repère, c’est l’origine) et d’angle \(\alpha\), qui coupe l’un des côté du carré inscrit dans le cercle principal.

Prenons le côté en haut à droite (donc dans le cadran x > 0 et y > 0 si on se ramène à un repère). Il a pour équation \(y=-x+R\) si on considère que le cercle principal a pour rayon \(R\). Notons I le point d’intersection de la droite d’équation \(y = x\tan(\alpha)\), qui forme un angle de \(\alpha\) avec l’horizontale, avec le segment d’équation \(y=-x+R\). Alors, ses coordonnées vérifient:$$\begin{cases}y_I=-x_I+R\\y_I=x_I\tan(\alpha)\end{cases} $$Donc:$$x_I\tan(\alpha)=-x_I+R$$d’où:$$x_I=\frac{R}{\tan(\alpha)+R}.$$

Une fois les coordonnées de I connues, on calcule la longueur IM, où M est le point du cercle principal de coordonnées \(R\cos\alpha;R\sin\alpha)\), à l’aide de la formule vue en classe de Seconde:$$IM = \sqrt{(x_I-x_M)^2 + (y_I-y_M)^2}.$$On peut alors tracer le cercle de centre I et de rayon IM : c’est un des cercles rouges.

Avec Turtle

Il faut faire appel à quelques méthodes du module Turtle; inutile donc d’écrire:

from turtle import *

En effet, le mieux est de n’importer que les méthodes qui nous intéressent. Il en est de même pour le module math, où seules les méthodes sin, cos, tan et pi sont nécessaires (pour la racine carrée, on élève à la puissance 0.5).

On commence donc par tracer un cercle (avec Turtle, c’est un peu… comment dire poliment ? … je trouve pas ! Désolé !) en se déplaçant d’abord en bas de la fenêtre puis en traçant le cercle. Ensuite, on en profite pour tracer le carré inscrit dans le cercle (avec “goto”, comme le stylo est déjà baissé, ça trace les segments).

Maintenant, on fait une boucle itérative sur l’angle variant de 0 à 359. Si vous observez bien, je ne me suis pas embêté avec les cas où l’angle est égal à 90°, 180° et 270° car ça n’a que peu d’importance au final du point de vue visuel). En fait 180° ne pose pas de problème pour la tangente, mais peu importe… Ouais, je suis une grosse feignasse !…

Remarquez aussi que j’ai pris \(R=300\) car la fenêtre par défaut fait 800×800. “300” me semblait un bon compromis. Voilà donc le programme:

Alors là, les plus observateurs.trices. d’entre vous me diront : “t’es qu’un charlatant ! Le GIF n’est pas exactement ce que fait ce programme…” et c’est vrai ! C’est en fait un ancien GIF qui traînait sur mon disque dur… quand je vous disais que j’étais une grosse feignasse !

En attendant, si vous souhaitez télécharger le programme directement plutôt que de vous embêter à le réécrire à la main, c’est sur cette page.