gimp

Texture mouvante : Une autre méthode

(Moving texture : An other way)

Français
English
Je voudrai dédier ce tutoriel à Axelle qui m'a fait sortir de mon hibernation. I'd like to dedicate this toturial to Axelle who had stoped my hibernation.
Le commencement de ce tutoriel est le même que celui du premier sur les textures mouvantes et, comme pour celui-ci, il faut avoir le plug-in Math-Map installé sur votre système pour le suivre.
The begining of this tutorial is the same as the one of the first tutorial on mouving textures and, like for this one, you need to have Math-Map installed on your system to follow it.
Il bifurque du premier aprés l'obtention de l'image ci-contre. It fork from the first one after we have obtained the image in the center.
Comme pour la première texture mouvante il faudra utiliser un dégradé. Son rôle étant plus important, il faudra en faire un "sur mesure". Like for the first mouving texture, we will use a gradient. As its function will be more important we will need "custom-made" one.
Le Dégradé The gradient
Créez un nouveau dégradé à partir de "Neon cyan". Pour cela prennez la fenêtre de séléction des dégradés et double-clicquez sur "Neon cyan", la fenêtre d'édition apparait. Copiez le dégradé courrant Create a new gradiant from "Neon cyan". For this, take the gradient selection window and double-click on "Neon cyan", the edition window will appear. Copy the current gradient.
La première chose à faire est de supprimer la transparence du nouveau dégradé. Un fond noir ferra l'affaire. The first thing to be done is to suppress transparency of the new gradient. A black back-ground will be good.
Pour le simuler, il faut modifier une à une les couleurs compossant le dégradé (enfoncez sans le relacher le bouton droit de la souris). Les valeurs de composantes rouge, verte et bleu doivent-être multipliées par celle de l'opacité (elles ne doivent pas augementer, le multiplicateur étant inférieur ou égal à 1) puis celle-ci être remontée à 1. To simulate it, modify each color composing the gradient (press the right mouse button without release it). The value of red, green and blue component must be multiply by the opacity value (they may not increase as the multiplier is less or equal to 1) and set the opacity value to 1.
Vous devriez arriver au résultat suivant : You should obtain the next result:
Séléctionnez l'ensemble des segments (cliquez en dessous du premier, maintennez enfonçé la touche "shift" en cliquant sous le dernier) et dupliquez les en 3 ou 4 exemplaires (dans le sous-menu du dernier choix qui apparait lorsque que l'on enfonce le boutton droit de la souris dans le dégradé). Select now all segments (click under the first one, maintain down the "shift" key when clicking under the last one) and duplicate it in 3 or 4 copy (go in the sub-menu of the last choice that appear when we press the right mousse button in the gradient).
Éliminez enfin les répétitions inutiles pour n'en conserver qu'une (il est possible d'en conserver 2 si vous avez choisi un nombre pair d'exemplaires, cela modifiera la topologie du résultat). Finaly remove the useless copies to keep only one (it is possible to keep 2 copy if you have an even number of copy, it will modify the topology of the result).
Revennez à l'image et lancez le plug-in "Math-Map" (Filtres/ Générique/ MathMap/ MathMap). Dans le panneau "Settings" cochez "Animate" puis copiez la formule ci-contre dans le panneau "Expression". p=origValXY(x,y);
b=toHSVA(p);
d=b[0];
d=d+t;
if (d>1) then
    d=d-1;
end;
rgba:[d,d,d,1]
Come back to the image and take the "Math-Map" plug-in (Filter/ Generic/ MathMap/ MathMap). Check "Animate" in the "Settings" panel and next copy the formula in the center in the "Expression" panel.
Commentaires sur le script Comments on the script
La première ligne récupère la valeur du pixel courrant dans l'espace des couleurs. p=origValXY(x,y); The first line is recovering the value of the current pixel in the color space.
La seconde transcrit la valeur précédement obtenue dans le formalisme Teinte (=Hue)/ Saturation/ Valeur/ Alpha (=transparence). b=toHSVA(p); The second transcript the value obtain at the first line in the Hue/ Saturation/ Value/ Alpha (=transparency) formalism.
Celle-ci récupère la composante "Teinte" (entre 0 et 1) d=b[0]; This one recovering the value of "Hue" component (between 0 and 1).
Ajoute le temps, divisez le temps par deux dans le cas ou vous auriez laissé deux exemplaires du dégradé. d=d+t; Add time, divide time by two in the case you let two copy of the gradiant.
Ces lignes ramènent d entre 0 et 1. if (d>1) then
    d=d-1;
end;
This lines bring back d between 0 et 1.
La dernière retourne le niveau de gris.

Fin du script.
rgba:[d,d,d,1] The last one return the gray level.

End of the script.
Détruisez maintenant le calque d'origine.
Now, destroy the original layer.
Sélectionnez le nouveau gradient et appliquez le sur tous les calques via la fonction "Filtres/ Filtrer tous les calques" (sélectionnez dans la liste des filtres "plug-in-gradmap" et lancer le tout avec "Paramètres constants"). Select the new gradient and apply it on evry layer through the function "Filters/ Filter all Layers..." (select "plug-in-gradmap" in the filter list and launch it with constant parameters).
Enregistrez au format gif en tant qu'animation et visualisez avec votre navigateur habituel. Ci-contre, en raison de l'utilisation d'un dégradé double, le temps a été divisé par 2.
Save in gif format as an animation and visualize with your usual browser. In the center, cause of the use of a double gradient, time was divide by 2.
D'autres exemples peuvent être trouvés sur le site Lune Rouge et dans la gallerie You can find some over example on the site Lune Rouge (Red Moon) and in the gallery

Laurent Despeyroux
01/11/2003-26/07/2004