Chaque angle mesure 60° = ∏/3. Une rotation de 120° = 2∏/3 permet d'obtenir la même figure.
En rotation, le milieu de chacun des côtés se déplace sur le cercle inscrit qui a un rayon égal à (côté x √3)/6.
Voyez, dans le code source, le javascript. Pour déterminer les coordonnées des trois sommets du triangle équilatéral, j'ai utilisé la trigonométrie (voyez "Math.PI/6"). J'ai programmé la rotation du triangle autour du centre du canvas qui est également centre de gravité du triangle. J'ai donc établi les coordonnées à partir de ce point (voyez "translate"). Le rayon du cercle inscrit est égal à (c*√3)/6 où c est la longueur du côté du triangle qui a été établi à partir des coordonnées de 2 des 3 sommets.
La distance entre 2 points est c = √((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)).
NB : Seul le triangle tourne, les cercles sont immobiles.