Rosaces sur Casio Graph, formation Python-turtle le 24/11
Posted: 24 Nov 2020, 17:04
On aime bien les rosaces chez Casio. La nouvelle gamme de calculatrices graphiques USB Power Graphic 3 dont la France a eu la primeur avec la Graph 35+E II pour la rentrée 2019, t'apporte un superbe boîtier au design à la croisée des Mathématiques, de la géométrie et des arts. Dans un article précédent nous te révélions les secrets derrière la forme originale de son pavé directionnel : une empreinte façon taille de pierre précieuse avec table octogonale et couronne à 24 facettes.
Mais ce n'est pas son seul secret de style, puisque le verso une fois correctement éclairé nous fait également étinceler une superbe rosace.
Un soin tout particulier apporté à la décoration, du jamais vu sur un modèle d'entrée de gamme ! Et ceci tout en apportant en prime matière à chercher/discuter passionnément en cours de Maths !
Mais ce n'est pas son seul secret de style, puisque le verso une fois correctement éclairé nous fait également étinceler une superbe rosace.
Un soin tout particulier apporté à la décoration, du jamais vu sur un modèle d'entrée de gamme ! Et ceci tout en apportant en prime matière à chercher/discuter passionnément en cours de Maths !
Mais quel est donc le secret de la construction de la rosace de Casio ?
Le manuel de la Graph 35+E II nous apporte des représentations de la rosace. Même si elles sont bien évidemment utiles à la compréhension, notons qu'elles ne sont pas tout à fait exactes. Si tu regardes bien, tu noteras que plusieurs segments ont été oubliés à divers endroits, alors que pourtant bien présents au dos de la calculatrice.
On peut noter que cette rosace est pavée d'éléments ressemblant à des triangles rectangles.
On peut simplifier le problème en éliminant les rayons et cercles concentriques, le pavage se constitue alors d'un assemblage d'éléments ressemblant à des cerfs-volants, tendant vers des losanges au fur et à mesure que l'on s'éloigne du centre.
Nous avons décollé l'autocollant au dos d'une Graph 35+E II afin de pouvoir tout observer. Voici superposée ci-contre l'intégralité de la rosace supposée, et coloriés en rouge les triangles effectivement gravés au dos de la calculatrice, sur le couvercle des piles, sous l'autocollant et encore sur les tranches latérales.
Nous y avons compté 1156 éléments gravés selon le pavage supposé en triangles rectangles, pour un maximum de 1200 éléments pour la rosace complète.
Selon le pavage simplifié en cerfs-volants, cela donnerait 289 éléments sur un maximum de 300.
On peut noter que cette rosace est pavée d'éléments ressemblant à des triangles rectangles.
On peut simplifier le problème en éliminant les rayons et cercles concentriques, le pavage se constitue alors d'un assemblage d'éléments ressemblant à des cerfs-volants, tendant vers des losanges au fur et à mesure que l'on s'éloigne du centre.
Nous avons décollé l'autocollant au dos d'une Graph 35+E II afin de pouvoir tout observer. Voici superposée ci-contre l'intégralité de la rosace supposée, et coloriés en rouge les triangles effectivement gravés au dos de la calculatrice, sur le couvercle des piles, sous l'autocollant et encore sur les tranches latérales.
Nous y avons compté 1156 éléments gravés selon le pavage supposé en triangles rectangles, pour un maximum de 1200 éléments pour la rosace complète.
Selon le pavage simplifié en cerfs-volants, cela donnerait 289 éléments sur un maximum de 300.
Avant d'aller plus loin dans la compréhension et l'ingénierie inverse, posons-nous donc la question essentielle : comment trace-t-on une rosace ?
Une méthode de génération est d'effectuer des rotations successives d'une forme géométrique autour d'un point lui appartenant. Concevons un petit script Python - turtle à cette fin, tout en traçant 1 fois la forme utilisée d'un trait de couleur épais afin de la laisser en évidence :
Choisissons par exemple le cercle comme forme élémentaire de notre génération.
- Code: Select all
from turtle import *
def wrapper(f, args):
return f(*args)
def rotate(*argv):
n = argv[0]
a = 360 / n
f = argv[1]
args = argv[2:]
pensize(1)
pencolor(0, 0, 0)
for i in range(n):
wrapper(f, args)
left(a)
pensize(2)
pencolor(1, 0, 0)
wrapper(f, args)
Choisissons par exemple le cercle comme forme élémentaire de notre génération.
rotate(50, circle, 47)
réalise alors 50 rotations d'un cercle de rayon 47, ce qui nous donne la rosace ci-contre que nous appellerons rosace classique.Mais sur la rosace de Casio, nous ne trouvons aucun cercle passant par le centre, donc ce n'est pas ça.
Il existe d'autres types de rosaces comme par exemple la rosace rhombique. Une rosace rhombique d'ordre n se construit en partant de n losanges identiques adjacents partageant un même sommet, que l'on entoure ensuite par adjacence de couches de n losanges identiques successives et ce jusqu'à-ce que le polygone englobant ainsi généré devienne convexe. Une propriété remarquable de la rosace ainsi obtenue est qu'elle admet un pavage en losanges.
Mais la rosace rhombique d'ordre n peut également être obtenue comme initialement décrit par n rotations d'une forme géométrique.
Dans le cas où n est pair, une forme élémentaire qui convient est un polygone régulier à n côtés. Complétons notre script Python en ce sens :
Tu peux d'ailleurs remarquer que plus n est grand plus on se rapproche de la rosace classique, la forme génératrice utilisée se rapprochant en effet du cercle.
Dans le cas où n est impair par contre, le polygone régulier ne permet pas d'obtenir une rosace rhombique. Il faut changer de forme et utiliser un autre polygone particulier, un zonogone équilatéral avec :
Mais la rosace rhombique d'ordre n peut également être obtenue comme initialement décrit par n rotations d'une forme géométrique.
Dans le cas où n est pair, une forme élémentaire qui convient est un polygone régulier à n côtés. Complétons notre script Python en ce sens :
- Code: Select all
def polyreg(n, l):
a = 360 / n
for i in range(n):
forward(l)
left(a)
rotate(4, polyreg, 4, 95)
rotate(6, polyreg, 6, 55)
rotate(8, polyreg, 8, 39)
rotate(10, polyreg, 10, 31)
rotate(12, polyreg, 12, 25)
Tu peux d'ailleurs remarquer que plus n est grand plus on se rapproche de la rosace classique, la forme génératrice utilisée se rapprochant en effet du cercle.
Dans le cas où n est impair par contre, le polygone régulier ne permet pas d'obtenir une rosace rhombique. Il faut changer de forme et utiliser un autre polygone particulier, un zonogone équilatéral avec :
- n+1 côtés tous de même longueur
- un centre de symétrie
- 2 angles opposés en $mathjax$\pi-\frac{\pi}{n}$mathjax$, l'un des deux au centre de rotation
- Code: Select all
def equizono(n, l):
n *= 2
a = 360 / (n - 1)
for k in range(n):
forward(l)
left( a / (1 + (k in (n/2 - 1, n - 1))))
rotate(3, equizono, 2, 110)
rotate(5, equizono, 3, 62)
rotate(7, equizono, 4, 43)
rotate(9, equizono, 5, 33)
rotate(11, equizono, 6, 27)
Mais sur la rosace de Casio comme déjà vu plus haut, le pavage n'est pas en losanges, mais au mieux en cerfs-volants. Donc ce n'est toujours pas ça...
La rosace de Casio n'est donc ni une rosace classique, ni une rosace rhombique. Qu'est-elle ?
Si tu regardes bien, on peut également y noter une rupture, semblant témoigner d'un changement des règles en cours de tracé. En effet nous comptons :
Le mystère de la rosace de la Casio Graph 35+E II reste donc entier...
Si tu regardes bien, on peut également y noter une rupture, semblant témoigner d'un changement des règles en cours de tracé. En effet nous comptons :
- 24 pseudo-triangles à l'intérieur du 1er cercle
- 48 pseudo-triangles entre les 1er et 2ème cercles
- 48 pseudo-triangles entre les 2ème et 3ème cercles
- 72 pseudo-triangles entre les 3ème et 4ème cercles
- 96 pseudo-triangles entre les 4ème et 5ème cercles
- 96 pseudo-triangles entre les 5ème et 6ème cercles
- 96 pseudo-triangles entre les 6ème et 7ème cercles
- 96 pseudo-triangles entre les 7ème et 8ème cercles
- 96 pseudo-triangles entre les 8ème et 9ème cercles
- 96 pseudo-triangles entre les 9ème et 10ème cercles
- 96 pseudo-triangles entre les 10ème et 11ème cercles
- 96 pseudo-triangles entre les 11ème et 12ème cercles
Le mystère de la rosace de la Casio Graph 35+E II reste donc entier...
Et bien ça tombe bien, car Casio t'invite ce mercredi 25 novembre à 14h à une vidéoconférence dédiée au tracé de rosaces en Python - turtle sur Graph 35+E II et Graph 90+E !
Peut-être ont-ils justement prévu entre autres ce cas de rosace au menu, ou sinon peut-être pourras-tu leur demander quelques indices !
Peut-être ont-ils justement prévu entre autres ce cas de rosace au menu, ou sinon peut-être pourras-tu leur demander quelques indices !
Lien : inscription
Crédits images :