On dispose d'un carré comme ci-dessous, centré sur l'origine :
On aimerait ensuite obtenir une figure telle que la suivante :
Sur cette figure, le carré vert est obtenu comme translaté du carré rouge par le vecteur \( \overrightarrow{u}(50,60) \).
On fait ensuite subir une rotation de ce carré vert autour du point \( \Omega( 50; 60 ) \).
Pour traduire cela, on utilisera le code ci-dessous.
Le point à remarquer est que le centre de rotation indiqué dans le code du carré bleu n'est pas le point \( \Omega \)
mais le point de coordonnées (0,0). Une façon de comprendre ceci est d'appliquer les transformations indiquées
de droite à gauche : on fait d'abord subir une rotation du carré rouge autour de l'origine, puis on translate le résultat.
On peut également traduire plus directement le descriptif initial comme suit. Le centre est cette fois celui indiqué initialement, on a écrit les deux transformations de droite à gauche.
On peut aussi ici décomposer de la façon suivante :
- Le carré rouge est identifié avec un attribut
id
. - Le carré vert est défini comme translaté du carré rouge et lui-même identifié.
- Le carré bleu est alors défini à partir du carré vert, sans référence directe au carré rouge.