Satin Multicolore

10 minute read

compensation

Simuler une colonne satin multicolore.

On parle ici de simulation, car il ne s’agit pas d’une seule colonne satin multicolore, mais d’un effet similaire obtenu en utilisant plusieurs copies superposées d’une même colonne satin, simplement en utilisant des paramètres aléatoires différents.

Ceci est devenu une des extensions d’Ink/Stitch

Commençons par le bicolore

Revenons sur les paramètres “aléatoires” des colonnes satin.

Augmentation aléatoire de la largeur du satin

Le paramètre “augmentation aléatoire de la largeur du satin” est un paramètre dit asymétrique car il est possible de l’appliquer différemment sur les deux rails. C’est un paramètre dans lequel il est possible de n’entrer qu’une valeur, auquel cas elle est appliquée à chacun des deux rails; mais aussi d’entrer deux valeurs séparées par un espace, auquel cas le premier est appliqué au premier rail, le second au second rail.

random increase_different_seeds

  • Quand ce paramètre vaut 0, la colonne (en noire) est composée de zig-zags qui restent entre les deux rails
  • Quand ce paramètre vaut 50, la colonne (en rouge), chaque zig (ou zag) est allongé vers la gauche et la droite d’une valeur comprise entre 0 et 50% de la longueur du zig. La nouvelle colonne est donc élargie différemment selon les endroits, au maximum elle peut être deux fois plus large que la noire (50% a gauche et 50% à droite), elle n’est jamais plus étroite.
  • Quand ce paramètre vaut 0 50, la colonne (en vert) est inchangée à gauche, mais à droite, elle est allongée jusqu’à 50% de longueur supplémentaire.
  • Quand ce paramètre vaut 50,0, la colonne (en bleu) c’est similaire en échangeant les rôles de la gauche et de la droite.
  • Si l’on superpose les trois colonnes ayant une valeur non nulle pour le paramètre, l’élargissement semble bien aléatoire, les frontières des colonnes sont bien différentes, même si elles sont similaires.

Quelles sont les valeurs que l’on peut saisir dans ce paramètre ? Ink/Stitch accepte ici tout couple de valeurs numériques. Elles peuvent être positives ou nulles, ou négatives et elles peuvent dépasser la valeur 100. Toutefois, si l’on peut augmenter ainsi les zigs sans limite, la diminution est de facto limitée, au pire le zig serait un simple point sur la ligne médiane.

negative augmentation

Diminution aléatoire de la largeur du satin

Les colonnes satins disposent aussi du paramètre inverse, la diminution aléatoire de la largeur du satin. Plutôt que d’augmenter de -50%, on peut décider de diminuer de 50%, c’est la même chose.

Méthode simple, mais imparfaite

Grace à l’un ou l’autre de ces deux paramètres, on a déjà une première méthode imparfaite mais très simple pour simuler des colonnes satin bicolores:

first_bicolore_satin

  • A gauche utilisation de la diminution aléatoire de largeur : la colonne rouge est réduite à gauche, la colonne verte est réduite à droite. Mais attention la seconde couleur vient en superposition de la première et ici le vert cache une partie du rouge .
  • A droite, on a laissé le rouge intact, le vert vient en superposition,réduit jusqu’au deux tiers plutôt que de la moitié

Mais cette méthode est imparfaite : elle assure que toute la colonne est colorée, il n’y a pas de manque, mais il y a superposition.

Il est possible d’obtenir deux colonnes parfaitement emboitées, mais il faut pour cela utiliser aussi d’autres paramètres aléatoires

La graine aléatoire

Chaque fois que l’on utilise un ou des paramètres aléatoires, on peut si l’on n’est pas content du résultat cliquer sur “relancer les dés” pour obtenir un résultat différent. Techniquement, relancer les dés, c’est donner une nouvelle valeur au paramètre “graine aléatoire”. Il est aussi possible de donner manuellement une valeur à ce paramètre. C’est surtout utile lorsque l’on désire que plusieurs copies d’un objet qui utilise des paramètres aléatoires soient en fait parfaitement identiques. Il suffira alors de leur donner la même valeur de graine aléatoire.

Si l’on reprend le premier exemple mais en donnant cette fois à toutes les colonnes la même valeur pour la graine aléatoire, voici ce que l’on obtient: random increase_same_seeds

Maintenant lorsque l’on superpose les trois colonnes, on constate qu’il y a une parfaite superposition des frontières. La colonne rouge à élargie à gauche comme la colonne bleu et à droite comme la colonne vert. En revanche, pour un même zig, l’élargissement à gauche est différent de l’élargissement à droite.

Méthode presque aussi simple, avec emboitement parfait mais hélas pas générale

premiere_reussite

Cette fois, au lieu de superposer deux colonnes, elles sont posées l’une à coté de l’autre. Le bord droit de l’une étant superposé au bord gauche de l’autre

  • Les deux colonnes ont la même graine aléatoire
  • La colonne orange a pour valeur de la diminution aléatoire 50 0
  • La colonne bleu a pour valeur de la diminution aléatoire -50 0 (c’est donc une augmentation). De plus on a cocher la case Échanger les rails.

Comme les deux ont la même graine aléatoire et que les modifications dans les deux cas portent sur le premier rail, à chaque zig le calcul donne des valeurs qui assurent l’emboitement parfait.

Malheureusement, cette solution simple ne se généralise pas à de colonnes de forme quelconque.

Pour une solution générale, nous allons utiliser un paramètre supplémentaire:

Pourcentage de compensation d’étirement

Pour obtenir des colonnes satin multicolores, on va utiliser le paramètre “pourcentage de compensation d’étirement”.

C’est aussi un paramètre asymétrique.

Il est courant de donner des valeurs positives aux compensations, mais il est aussi possible de leur donner des valeurs négatives, au lieu d’augmenter la largeur de la colonne satin, on la réduit.

Voici trois exemples de valeurs pour le paramètre pourcentage de compensation d’étirement, et le résultat compensation

Ici le premier rail est le bord gauche du satin.

Quand le paramètre vaut “0 -75” (en vert) on ne touche pas au bord gauche, mais tout se passe comme si le bord droit avait été rapproché régulièrement pour réduire la distance entre les deux rails au quart de la valeur initiale. On est en effet passé d’une largeur de 100% à une largeur de 100-75=25%

Quand le paramètre vaut “-25 -25” (en rouge) les deux bords se rapprochent du centre et la largeur de la colonne est uniformément réduite de moitié.

Quand le paramètre vaut “-75 0” (en bleu) on ne touche pas au bord droit, mais tout se passe comme si le bord gauche avait été rapproché régulièrement pour réduire la distance entre les deux rails au quart de la valeur initiale.

Si l’on superpose ces trois colonnes, on obtient un serpent tricolore.

tricolor

Remarque Il est tout à fait possible d’utiliser sur la même colonne satin, une compensation d’étirement en mm et une compensation en pourcentage. Les deux paramètres sont asymétriques. Les deux paramètres acceptent des valeurs négatives.

Méthode générale pour l’emboitement de deux couleurs dans une colonne satin

On va utiliser conjointement tous ces paramètres.

Si l’on souhaite répartir les 100% de largeur de la colonne en

  • G% à gauche exclusivement pour le bleu
  • D% à droite exclusivement pour le vert
  • et donc 100-(G+D) pourcents au milieu pour un mélange vert bleu,

on utilisera ce paramétrage

Paramètre Satin bleu Satin vert
Pourcentage de compensation d’étirement 0 100-G 0 100-D
Échanger les rails non oui
Augmentation aléatoire de la largeur du satin 0 100-(G+D) 0
Diminution aléatoire de la largeur du satin 0 0 G+D-100
Graine aléatoire identique identique

Donc par exemple si l’on veut garder 25% unicolore de chaque coté, on utilisera ce paramétrage

Satin bleu :

  • Pourcentage de compensation d’étirement : 0 -75
  • Augmentation aléatoire de la largeur du satin 0 50
  • Diminution aléatoire de la largeur du satin 0
  • Graine aléatoire 7 (ou “bonjour” ou n’importe quoi d’autre mais saisir une valeur)

Satin vert:

  • Pourcentage de compensation d’étirement : 0 -75
  • Cocher échanger les rails
  • Augmentation aléatoire de la largeur du satin 0
  • Diminution aléatoire de la largeur du satin 0 -50 (ce sera donc une augmentation)
  • Graine aléatoire 7 (où ce que vous avez saisi pour l’autre colonne)

Important Si ça n’a pas l’air de marcher , vérifiez que les rails de la colonne satin sont bien tous les deux dans la même direction, et non pas corrigés automatiquement. Vérifiez aussi que les points courts ne sont pas déclenchés .

solution

Télécharger le fichier du serpent

On peut jouer avec beaucoup plus que deux couleurs:

Pour trois couleurs

En supposant que l’on veut repartir les 100% de la largeur de la gauche vers la droite en

  • Les C1 premiers pourcents dans la couleur 1 exclusivement
  • Les C1!2 pourcents suivants partagés entre Couleur 1 et Couleur 2
  • Les C2 pourcents suivants dans la couleur 2 exclusivement
  • Les C2!3 pourcents suivants partagés entre Couleur 2 et Couleur 3
  • Les derniers C3 pourcents exclusivement pour la Couleur 3

Pour un résultat qui remplisse parfaitement la colonne sans aucun débordement, il faut s’assurer que C1+C1!2+C2+C2!3+C3 = 100

Paramètre Couleur 1 Couleur 2 Couleur 3
Pourcentage de compensation d’étirement 0 -(C1!2+C2+C2!3+C3) -(C2!3+C3) -(C1+C1!2) -(C1+C1!2+C2+C2!3) 0
Échanger les rails non oui non
Augmentation aléatoire de la largeur du satin 0 C1!2 C2!3 0 0
Diminution aléatoire de la largeur du satin 0 0 -C1!2 -C2!3 0
Graine aléatoire identique identique identique

Donc si l’on souhaite un partage en bleu, blanc rouge avec aucune zone monochrome, C1,C2 et C3 seront égaux à 0 et C1!2=C2!3=50 et le tableau devient :

Paramètre Bleu Blanc Rouge
Pourcentage de compensation d’étirement 0 -100 -50 -50 -100 0
Échanger les rails non oui non
Augmentation aléatoire de la largeur du satin 0 50 50 0 0
Diminution aléatoire de la largeur du satin 0 0 -50 -50 0
Graine aléatoire identique identique identique

si l’on souhaite plutôt réserver 20% à chacune des parties monochromes et partager le reste équitablement, on choisit C1=C2=C3=20 , il reste 40% donc C1!2=C2!3=20 et le tableau devient :

Paramètre Bleu Blanc Rouge
Pourcentage de compensation d’étirement 0 -80 -40 -40 -80 0
Échanger les rails non oui non
Augmentation aléatoire de la largeur du satin 0 20 20 0 0
Diminution aléatoire de la largeur du satin 0 0 -20 -20 0
Graine aléatoire identique identique identique

tricolore

Pour quatre couleurs

Avec les mêmes notations on aura cette fois

C1+C1!2+C2+C2!3+C3+C3!4+C4 =100

Paramètre Couleur 1 Couleur 2 Couleur 3 Couleur 4
Pourcentage de compensation d’étirement 0
C1-100
-(C2!3+C3+C3!4+C4)
-(C1+C1!2)
-(C1+C1!2+C2+C2!3)
-(C3!4+C4)
0
C4-100
Échanger les rails non oui non oui
Augmentation aléatoire de la largeur du satin 0 C1!2 C2!3 0 0 C3!4 0
Diminution aléatoire de la largeur du satin 0 0 -C1!2 -C2!3 0 0 -C3!4
Graine aléatoire identique identique identique identique

Toutes les valeurs de compensation sont négatives,toutes les augmentations sont positives toutes les diminutions sont négatives.

Cette fois ci, si l’on ne veut pas de zone monochome et un partage égal du reste, C1=C2=C3=C4=0 et C1!2=C2!3=C3!4=33.3.

Si l’on souhaite plutôt réserver 15% à chacune des parties monochromes et partager le reste équitablement, on choisit C1=C2=C3=C4=15 , il reste 40% donc C1!2=C2!3=C3!4=13.3

tricolore

Remarque Pour une broderie de qualité, il faut aussi ajouter de la compensation d’étirement pour….. compenser….. l’étirement ! Brodé tel quel les couleurs n’auront pas tout à fait l’air jointives, car les points déforment la broderie. Le plus simple est d’ajouter un peu de compensation en mm.

Pour un nombre quelconque de couleurs

Pour un partage en N couleurs, choisir des valeurs positives ou nulles pour les N parties monochromes C1,C2,…..CN et les N-1 parties bicolores C1!2, C2!3, ….CN-1!N. La somme des 2N-1 valeurs doit être 100.

Préparer un tableau à N colonnes

Dans la i-ième colonne indiquer

Si i est impair

Paramètre Couleur I
Pourcentage de compensation d’étirement C1+C1!C2+C2+C2!C3+…..C(I-1)!I CI!C(I+1)+C(I+1)+C(I+1)!(I+2)+…..CN
Échanger les rails non
Augmentation aléatoire de la largeur du satin 0 CI!(I+1)
Diminution aléatoire de la largeur du satin -C(I-1)!I 0
Graine aléatoire toujours_le_meme_truc

Dans le pourcentage de compensation d’étirement vient en première position la somme des largeurs réservées a tout ce qui est avant la couleur I, et en deuxième position la zome des largeurs réservées à tout ce qui est après la couleur I.

Si i est pair

on coche Échanger les rails, et on interverti les deux valeurs du couple dans chaque paramètre.

Paramètre Couleur I
Pourcentage de compensation d’étirement CI!C(I+1)+C(I+1)+C(I+1)!(I+2)+…..CN C1+C1!C2+C2+C2!C3+…..C(I-1)!I
Échanger les rails oui
Augmentation aléatoire de la largeur du satin CI!(I+1) 0
Diminution aléatoire de la largeur du satin 0 -C(I-1)!I
Graine aléatoire toujours_le_meme_truc
  • Pour la première colonne C(-1) sera pris égal à 0 si l’on ne veut pas de débordement, on peut lui donner une valeur positive,si l’on veut que la première couleur déborde à gauche.
  • De même pour la dernière colonne C(N+1) sera pris égal à 0 si l’on ne veut pas que la dernière couleur déborde de la forme.

Et voilà à vous les arc-en-ciel…..

Pour cet exemple, on a fait déborder la première et la dernière couleur ArcEnCiel

Télécharger le fichier arc en ciel