Le node Math

../../../_images/compositing_node-types_CompositorNodeMath.png

Le node Math.

Le node Math effectue des opérations mathématiques.

Entrées

Les entrées du node sont dynamiques. Certaines entrées ne sont disponibles que dans certaines opérations. Par exemple, l’entrée Addend n’est disponible que dans l’opérateur Multiply Add.

Value

Valeur d’entrée. Les fonctions trigonométriques lisent cette valeur en radians.

Addend

Entrer la valeur Addend.

Base

Entrer la valeur Base.

Exponent

Entrer la valeur Exponent.

Epsilon

Entrer la valeur Epsilon.

Distance

Entrer la valeur Distance.

Min

Entrer la valeur Minimum.

Max

Entrer la valeur Maximum.

Increment

Entrer la valeur Increment.

Scale

Entrer la valeur Scale.

Degrees

Entrer la valeur Degrees.

Radians

Entrer la valeur Radians.

Propriétés

Operation

L’opérateur mathématique à appliquer aux valeurs d’entrée :

Fonctions
Add

La somme des deux valeurs.

Subtract

La différence entre les deux valeurs.

Multiply

Le produit des deux valeurs.

Divide

La division de la première valeur par la seconde valeur.

Multiply Add

La somme du produit des deux valeurs avec Addend.

Power

La Base élevée à la puissance de Exponent.

Logarithm

Le log de la valeur avec Base comme sa base.

Square Root

La racine carrée de la valeur.

Inverse Square Root

Un divisé par la racine carrée de la valeur.

Absolute

La valeur d’entrée est lue sans tenir compte de son signe. Cela transforme les valeurs négatives en valeurs positives.

Exponent

Élève le nombre de Euler à la puissance de la valeur.

Comparaison
Minimum

Met en sortie la plus petite des valeurs d’entrée.

Maximum

Met en sortie la plus grande des valeurs d’entrée.

Less Than

Met en sortie 1.0 si la première valeur est inférieure à la seconde. Sinon, la sortie est de 0.0.

Greater Than

Met en sortie 1.0 si la première valeur est supérieure à la seconde. Sinon, la sortie est de 0.0.

Sign

Extrait le signe de la valeur d’entrée. Tous les nombres positifs mettent en sortie 1.0. Tous les nombres négatifs mettent en sortie -1.0. Et 0.0 met en sortie 0.0.

Compare

Met en sortie 1.0 si la différence entre les deux valeurs d’entrée est inférieure ou égale à Epsilon.

Smooth Minimum

Smooth Minimum.

Smooth Maximum

Smooth Maximum.

Arrondi
Round

Arrondir la valeur d’entrée à l’entier le plus proche.

Floor

Arrondir la valeur d’entrée à l’entier inférieur le plus proche.

Ceil

Arrondir la valeur d’entrée à l’entier supérieur le plus proche.

Truncate

Met en sortie la partie entière de value.

Fraction

Fraction.

Modulo

Met en sortie le reste de la division de la première par la seconde valeur.

Wrap

Donne une valeur entre Min et Max basée sur la différence absolue entre la valeur d’entrée et le multiple entier le plus proche de Max inférieur à la valeur.

Snap

Arrondir la valeur d’entrée au multiple entier le plus proche de Increment.

Ping-pong

La valeur de sortie est déplacée entre 0.0 et Scale basée sur la valeur d’entrée.

Trigonometric
Sine

Le Sinus de la valeur d’entrée.

Cosine

Le Cosinus de la valeur d’entrée.

Tangent

La Tangente de la valeur d’entrée.

Arcsine

L” Arcsinus de la valeur d’entrée.

Arccosine

L” Arccosinus de la valeur d’entrée.

Arctangent

L”Arctangente de la valeur d’entrée.

Arctan2

Met en sortie la Tangente Inverse de la première valeur divisée par la seconde valeur mesurée en radians.

Hyperbolic Sine

Le Sinus hyperbolique de la valeur d’entrée.

Hyperbolic Cosine

Le Cosinus hyperbolique de la valeur d’entrée.

Hyperbolic Tangent

La Tangente hyperbolique de la valeur d’entrée.

Conversion
To Radians

L’entrée en degrés est convertie en radians.

To Degrees

L’entrée en radians est convertie en degrés.

Clamp

Borne la sortie dans l’intervalle (0.0 à 1.0). Voir Clamp.

Sorties

Value

Sortie de valeur numérique.

Exemples

Manual Z-Mask

../../../_images/compositing_types_converter_math_manual-z-mask.png

Exemple de fonctions minimum et maximum.

Dans cet exemple, une scène qui contient un cube qui est à environ 10 unités de la caméra, est entrée par le node Render Layers du haut. Le node Render Layers du bas introduit une scène avec un plan qui couvre la moitié gauche de la vue et est à 7 unités de la caméra. Les deux sont alimentés via leurs nodes Map Value respectifs pour diviser le tampon Z par 20 (multiplier par 0.05, comme affiché dans le champ Size) et limité à un min/max de 0.0/1.0 respectivement.

Pour la fonction minimum, le node sélectionne ces valeurs Z où le pixel correspondant est plus proche de la caméra; il choisit donc les valeurs Z pour le plan et une partie du cube. L’arrière-plan a une valeur Z infinie, aussi elle est limitée à 1.0 (affiché en blanc). Dans l’exemple maximum, les valeurs Z du cube sont supérieures à celles du plan, elles sont donc choisies pour le côté gauche, mais les valeurs Z du plan Render Layers sont infinies (correspondant à 1.0) pour le côté droit, elles sont donc choisies.

Utilisation de la fonction Sinus (Sine) pour Pulsate

../../../_images/compositing_types_converter_math_sine.png

Exemple d’utilisation de la fonction Sine (Sinus).

Cet exemple comporte un node Time qui établit une séquence linéaire de 0 à 1 sur 101 images. À la trame 25, la valeur de sortie est de 0,25. Cette valeur est multipliée par 2 × pi (6,28) et convertie en 1,0 par la fonction Sinus, puisque \(sin(2 × pi/ 4) = sin(pi/ 2) = +1,0\).

Comme la fonction sinus peut donner des valeurs comprises entre (-1,0 et 1,0), le node Map Value met cette valeur à l’échelle de 0,0 à 1,0 en prenant l’entrée (-1 à 1), en ajoutant 1 (ce qui donne 0 à 2), et en multipliant le résultat par la moitié (ce qui met la sortie à l’échelle de 0 à 1). Color Ramp par défaut convertit ces valeurs en une échelle de gris. Ainsi, un gris moyen correspond à une sortie de 0.0 par le sinus, le noir à -1.0, et le blanc à 1.0. Comme vous pouvez le voir, \(sin(pi/ 2) = 1.0\). Comme si vous aviez votre propre calculateur visuel de couleurs! L’animation de cette configuration de nodes permet d’obtenir une séquence cyclique fluide dans la gamme des gris.

Utilisez cette fonction pour faire varier, par exemple, le canal alpha d’une image afin de produire un effet de fondu enchaîné (fading in/out). Modifiez le canal Z pour déplacer une scène dans le champ de la mise au point. Modifiez la valeur d’un canal de couleur pour créer une « impulsion, vibration » de couleur.

Éclaircissement (mise à l’échelle) d’un canal

../../../_images/compositing_types_converter_math_multiply.png

Exemple de mise à l’échelle d’un canal.

Cet exemple comporte un node Math (Multiply) qui augmente le canal de luminance (Y) de l’image pour la rendre plus lumineuse. Notez que vous devez utiliser un node Map Value avec min() et max() activés pour fixer la sortie à des valeurs valides. Avec cette approche, vous pouvez utiliser une fonction logarithmique pour obtenir une image à plage dynamique élevée. Pour cet exemple particulier, il existe également un node Bright/Contrast qui pourrait permettre un contrôle plus simple de la luminosité.

Restriction de la sélection de couleur (postérisation)

../../../_images/compositing_types_converter_math_posterization.png

Exemple de postérisation.

Dans cet exemple, nous restreignons les couleurs à 6 valeurs : 0, 0.2, 0.4, 0.6, 0.8, 1.

Pour diviser un intervalle continu de valeurs entre 0 et 1 en un certain ensemble de valeurs, la fonction suivante est utilisée : \(round(x × n - 0.5) / (n - 1)\), où « n » est le nombre de valeurs possibles en sortie, et « x » est la couleur de pixel d’entrée. En savoir plus sur cette fonction.

Pour implémenter cette fonction dans Blender, considérez la configuration de nodes ci-dessus. Nous enchaînons les nodes mathématiques dans une fonction qui prend chaque couleur (valeurs de 0 à 1), la multiplie par six, le nombre souhaité de divisions (les valeurs deviennent de 0 à 6), la décale de 0,5 (-0,5 à 5,5), arrondit la valeur au nombre entier le plus proche (produit 0, 1, 2, 3, 4, 5), puis divise la couleur du pixel d’image par cinq (0,0, 0,2, 0,4, 0,6, 0,8, 1,0).

Dans le cas d’une image en couleur, vous devez le fractionner en canaux RVB distincts en utilisant les nodes Separate/Combine RGBA et effectuer cette opération indépendamment sur chaque canal.