#Python : créer une horloge à aiguilles

Bonjour,

Je me suis lançé dans un nouveau projet que je croyais tout à fait abordable mais qui s’avère être beaucoup plus difficile que prévu. Je voulais programmer une horloge. La dessiner a été un jeu d’enfant. Le problème, c’est de la faire fonctionner. Il faut bien que les aiguilles tournent! Et pour les faire tourner, il faut manipuler des outils trigonométriques tels que le sinus et le cosinus, deux olibrius dont j’ai gardé un très vague souvenir de mes années lycée.

Donc, tout ça pour vous dire que mon horloge, elle est très bien… sauf qu’elle marche pas! Il va falloir que je me plonge dans un cours de trigonométrie pour les brêles avant d’espérer voir les aiguilles se mouvoir. C’est pas gagné.

Pour ce qui est de dessiner l’horloge, voici comment j’ai procédé. J’ai d’abord dessiner un cercle avec la méthode Canvas.create_oval:

horloge

Ensuite, j’ai dessiné quatre cercles rouges de même rayon que le cercle vert et dont le centre correspond à la jonction entre le périmètre du cercle vert et les deux lignes perpendiculaire et parallèle. Puis, j’ai tiré des lignes bleues partant du centre du cercle vert jusqu’aux jonctions entre le cercle vert et les cercles rouges. Pour cela, j’utilise la méthode Canvas.create_line:

horloge2

Par ce procédé, j’obtiens l’emplacement exact des chiffres de l’horloge que je m’empresse de dessiner grâce à la méthode Canvas.create_text:

horloge3

Je dessine les aiguilles puis j’efface les lignes bleues et les cercles rouges. Mon horloge se matérialise dans toute sa beauté minimale. Il ne me reste plus qu’à trouver le moyen de la faire fonctionner.

La suite est ici… Désormais, l’horloge fonctionne.

Publicités

Auteur : Ordinosor

Bienvenue sur Miamondo, mon blog personnel. "Mia mondo", c'est de l'espéranto et ça signifie "Mon monde" en français. Je m'appelle Benoît alias Ordinosor, Français expatrié en Allemagne. Mes centres d'intérêt sont les distributions GNU/Linux, le langage de programmation Python, la science-fiction et l'espéranto.

1 réflexion sur « #Python : créer une horloge à aiguilles »

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s