Positionner sur un cercle ######################### .. image:: ../images/capture-positionnement-cercle.png Pour positionner des éléments sur un cercle, il nous suffit de faire quelques calculs simples. Imaginons que nous souhaitons disposer ``n`` éléments sur un cercle * de diviser le périmètre d'un cercle de rayon 1 (2π) par le nombre d'éléments à placer afin d'obtenir un valeur ``Â`` * pour chaque point ``p`` numéroté de 1 à ``n``, obtenir le cosinus et le sinus de ``p × Â``. Nous obtenons maintenant les coordonnées des différents points sur un cercle de 1 de côté. Si l'on souhaite par exemple obtenir les coordonnées des points sur un cercle de rayon 12, il suffit de multiplier les coordonnées par 12. Comment faire : ******** Voyons un exemple, avec les éléments suivants : * ``thisComp.numLayers`` : le nombre de calques dans la composition * ``width`` : la largeur de la composition * ``index`` : le numéro de calque Nous allons donc : * créer un calque de forme * ajouter une ellipse * ajouter une couleur de fond Et lui ajouter l'expression suivante sur la position : .. code-block:: javascript var x = position[0] + Math.cos( 2 * Math.PI / thisComp.numLayers * index ) * width / 3; var y = position[0] + Math.sin( 2 * Math.PI / thisComp.numLayers * index ) * width / 3; [ x, y ] Ou en version longue : .. code-block:: javascript /* on va arbitrairement choisir un rayon égal au tiers de la largeur_colonne composition */ var rayon = width / 3; /* Le périmètre d'un cercle de rayon 1 = 2π */ var perimetre_cercle_rayon_1 = 2 * Math.PI /* on récupère le nombre de calque cela va nous permettre d'espacer les éléments de manière régulière */ var nombre_de_calques = thisComp.numLayers; /* calcul de l'angle pour le calque contenant l'expression */ var angle_A = perimetre_cercle_rayon_1 / nombre_de_calques * index; // calcul de la position en x et y var x = position[0] + Math.cos( angle_A ) * rayon; var y = position[1] + Math.sin( angle_A ) * rayon; [ x, y ] En vidéo ******** .. raw:: html