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 - /6
et -
/3, deux rotations de centre 2 d'angle -
/6 et -
/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 :