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 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
- 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¶
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¶
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¶
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)¶
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.