next up previous contents
suivant: La roue isopolygonale monter: La roue hexagonale ou précédent: La roue hexagonale ou   Table des matières

La roue hexagonale

Avec Xcas on pourra exécuter hexagone.xws pour avoir la correction.

On peut chercher la liste S des affixes des sommets de l''hexagone lorsque A est en 0 et B est en 1, puis utiliser polygone(S) ou utiliser directement hexagone(0,1) ou isopolygone(0,1,6).
Lorsque la "roue" a fait un tour complet, le point A décrit 6 arcs de cercle et on met dans L les extrémités de ces arcs (le dernier arc est de rayon nul donc on peut dire que la trajectoire est formée de 5 arcs). Pour calculer ces extrémités on tape :
a:=normal(affixe(rotation(1,-pi/3,0)));
b:=normal(affixe(rotation(2,-pi/3,a))),
puis on complète par symétrie par rapport à x = 3
AL est la liste de ces 5 arcs lorsque la "roue" a fait un tour complet.
BL est la liste AL translatée : on a ainsi la trajectoire du point A lorsque la "roue" a fait 2 tours complets.
On définit Hs la figure formée par l'hexagone de centre O et le segment AO : on visualise ainsi le point A.
Pour faire une animation on va créer la liste LH contenant plusieurs positions de Hs obtenues par deux rotations de centre 1 d'angle - $ \pi$/6 et - $ \pi$/3, deux rotations de centre 2 d'angle - $ \pi$/6 et - $ \pi$/3 etc... On obtient ainsi une liste de 12 éléments.
On tape :

L:=[0,1/2+i*sqrt(3)/2,2+i*sqrt(3),4+i*sqrt(3),11/2+i*sqrt(3)/2,6];
affichage((AL:=seq(arc(L[k],L[k+1],-pi/3),k,0,4)),hidden_name);
affichage((BL:=translation(6,AL)),hidden_name);
Hs:=[isopolygone(0,1,6),segment(0,(1+i*sqrt(3))/2)];
LH:=[Hs];
for (j:=0;j<12;j++){LH:=concat(LH,[rotation(j+1,-pi/6,LH[2*j]),rotation(j+1,-pi/3,LH[2*j])])}:;
affichage((A:=seq(arc(L[k],L[k+1],-pi/3),k,0,4)),hidden_name);
affichage((B:=translation(6,A)),hidden_name);
animation(LH);
Le point A décrit des 6 arcs de cercles qui sont : donc la distance parcourue par le point A quand la `"roue" a fait un tour complet est $ \pi$(4 + 2$ \sqrt{3}$)/3.
On peut aussi calculer cette longueur à l'aide d'une boucle. On tape :
dist:=0;
for (k:=0;k<5;k++)arc(L[k],L[k+1],-pi/3,C,R);dist:=dist+R*pi/3;;
normal(dist)
next up previous contents
suivant: La roue isopolygonale monter: La roue hexagonale ou précédent: La roue hexagonale ou   Table des matières
Documentation de giac écrite par Renée De Graeve