
Présentation rapide de DGPad (en vidéo)
Un pavage peut être caractérisé par le groupe d'isométries qui le conservent.
Il existe 17 types de pavages "périodiques" du plan. On entend par là qu'il existe 17 types de groupes d’isométries contenant un sous-groupe discret bidimensionnel de translations.
Cela permet de classer tous les motifs bidimensionnels périodiques en fonction des isométries qui laissent ce motif invariant.
On va construire ces 17 types de pavages (et en donner une version dynamique) avec CaRMetal. On le fera en écrivant un programme général capable de construire un pavage dynamique à partir de chacune de 17 configurations initiales (les structures de maille).
La mise en oeuvre du programme se fait ainsi :
1) on construit puis on renseigne dans l'entête du programme :
2) on lance le programme, qui applique alors les isométries au motif minimal (appelé unité asymétrique), puis à ses images successives (récursion). On obtient le pavage périodique.
En pratique, on va donner 17 figures pour lesquelles on a déjà construit le motif minimal, et implémenté le programme sous forme d'un CaRScript dont l'entête a été correctement renseigné. Il suffit donc de lancer ce script.
Remarques :
1) On n'utilisera pas systématiquement les translations. On les utilisera seulement quand elles seront indispensables (quand elles ne sont pas générées par les autres isométries du groupe), ce qui permet d'observer la "périodicité" sans l'avoir programmée de façon transparente avec les translations.
2) Pour les isométries qui ne sont pas leur propre réciproque (qui ne sont pas des symétries), on appliquera à chaque étape l'isométrie et son inverse.
3) On donne deux versions du script :
Exemple : pavage de type p6
La structure de maille est la suivante :
Le motif minimal (unité asymétrique) est colorié en jaune.
Les losanges indiquent des centres de symétries centrales (rotations de 180°).
Les triangles équilatéraux indiquent des centres de rotation d'angle 120°.
Les hexagones réguliers ndiquent des centres de rotation d'angle 60°.
On construit l'unité asymétrique et une ligne brisée EFGHI qui permettra de créer un motif dynamique.
Les points rouges sont dynamiques.
On peut alors appliquer le programme (CaRScript) avec cet entête :
On obtient (après quelques minutes car l'analyseur syntaxique a beaucoup de travail. Pendant ce temps le logiciel ne répond plus, pas de panique) ce pavage dynamique :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
script rapide, profondeurRecursion = 3
On peut être surpris de constater que pour une profondeur de récursion égale à 3, le pavage est moins étendu que pour une récursion égale à 2.
Mais "c'est normal", on l'expliqué dans une remarque précédente : cela est dû au fait que le programme ne construit pas une unité asymétrique déjà construite (et abandonne cette branche), indépendamment de sa position dans l'arbre de récursion (voir la fonction dejaConstruit dans le script).
script rapide, profondeurRecursion = 4
script rapide, profondeurRecursion = 5
script rapide, profondeurRecursion = 6
script rapide, profondeurRecursion = 7
script rapide, profondeurRecursion = 8
Dans le script exhaustif lent, on doit impérativement gérer les superpositions, et on est confronté à une explosion exponentielles des unités asymétriques superposées.
script exhaustif, profondeurRecursion = 1
script exhaustif, profondeurRecursion = 2
script exhaustif, profondeurRecursion = 3
Les pavages sont dynamiques.
On peut mettre en évidence la maille du pavage.
Remarque : on a différents choix possibles pour la mise en couleur. On a choisi ici de construire :
On pourrait procéder autrement pour obtenir différents effets graphiques et des motifs plus élaborés (la partie concernée du script est au début de la fonction récursive, avant le "si (n>...)" ).
Autre exemple : pavage de type pgg
La structure de maille est la suivante :
Le motif minimal est colorié en jaune.
Les losanges indiquent des centres de symétries centrales (rotations de 180°).
Les segments en pointillés indiquent des axes de glissage.
On construit la maille et une ligne brisée IJKLMNO qui permettra de créer un motif dynamique.
ABC est un triangle isocèle en C. Les points rouges sont dynamiques.
On peut alors appliquer le programme (CaRScript) avec cet entête :
On obtient ce pavage dynamique :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
script rapide, profondeurRecursion = 3
On peut mettre en évidence la maille du pavage.
On peut maintenant passer en revue les différents pavages:
On peut remarquer que le script utilise :
Ces trois éléments s'utilisent de façon analogue.
On donnera la structure de maille de chaque type de pavage avec les conventions suivantes :
![]() |
un centre de rotation d'ordre 2 (180°) = un centre de symétrie centrale |
![]() |
un centre de rotation d'ordre 3 (120°) |
![]() |
un centre de rotation d'ordre 4 (90°) |
![]() |
un centre de rotation d'ordre 6 (60°) |
![]() |
un axe de symétrie axiale |
![]() |
un axe de symétrie axiale glissée = un axe de glissage |
Remarque : une symétrie axiale glissée est la composition d'une symétrie axiale d'axe (AB) et d'une translation de vecteur $\vec{AB}$. Elle peut être caractérisée par deux points.
La structure de maille est la suivante :
On utilise les translations.
Maille et ligne brisée :
Entête :
Pavage :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
On obtient ce pavage dynamique :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Remarque : on doit utiliser la translation de vecteur $\vec{AB}$. Celle de vecteur $2\vec{BC}$ est générée par les symétries axiales, on peut donc s'en passer.
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
Voir le deuxième exemple au début de l'article.
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Remarque : on n'a pas mis A, B, C dans rot180.
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
Voir le premier exemple au début de l'article.
La structure de maille est la suivante :
Maille et ligne brisée :
Entête :
Pavage :
script rapide, profondeurRecursion = 1
script rapide, profondeurRecursion = 2
On peut mettre en évidence la maille :
On donne en p-j les 17 pavages. On aurait pu les mettre dans un seul classeur CaRMetal avec navigation par onglet. On a choisi de les mettre dans un zip contenant 17 figures.
On a dit dans un article précédent que le pavage "des chinois" était de type p31m. Montrons que l'on peut bien l'obtenir à l'aide du programme.
La mise en couleur ne convient plus, on adapte le programme pour faire une figure au trait. (voir p-j)
Ensuite on reprend la structure de maille pour le pavage p31m avec la disposition suivante :
On lance le programme et on obtient (en ajustant un peu les points) cette figure :
On pourrait aussi adapter le programme pour gérer le coloriage dans le script.
pavage-chinois-exhaustive-lente.zir
Télécharger ce fichier (pavage-chinois.zir)pavage-chinois.zir [figure CaRMMetal]
pavages-17-types-v-exhaustive-lente.zip [zip contenant les 17 pavages]