Node Math¶
Le Node Math effectue des opérations mathématiques.
Entrées¶
The inputs of the node are dynamic. Some inputs are only available in certain operations. For instance, the Addend input is only available in the Multiply Add operator.
- Value
Input Value. Trigonometric functions read this value as radians.
- Addend
Input Addend.
- Base
Input Base.
- Exponent
Input Exponent.
- Epsilon
Input Epsilon.
- Distance
Input Distance.
- Min
Input Minimum.
- Max
Input Maximum.
- Increment
Input Increment.
- Scale
Input Scale.
- Degrees
Input Degrees.
- Radians
Input Radians.
Propriétés¶
- Operation
The mathematical operator to be applied to the input values:
- Functions
- Add
The sum of the two values.
- Subtract
The difference between the two values.
- Multiply
The product of the two values.
- Divide
The division of the first value by the second value.
- Multiply Add
The sum of the product of the two values with Addend.
- Power
The Base raised to the power of Exponent.
- Logarithm
The log of value with a Base as its base.
- Square Root
The square root of the value.
- Inverse Square Root
One divided by the square root of the value.
- Absolute
The input value is read with without regard to its sign. This turns negative values into positive values.
- Exponent
Raises Euler’s number to the power of the value.
- Comparison
- Minimum
Outputs the smallest of the input values.
- Maximum
Outputs the largest of two input values.
- Less Than
Outputs 1.0 if the first value is smaller than the second value. Otherwise the output is 0.0.
- Greater Than
Outputs 1.0 if the first value is larger than the second value. Otherwise the output is 0.0.
- Sign
Extracts the sign of the input value. All positive numbers will output 1.0. All negative numbers will output -1.0. And 0.0 will output 0.0.
- Compare
Outputs 1.0 if the difference between the two input values is less than or equal to Epsilon.
- Smooth Minimum
- Smooth Maximum
- Rounding
- Round
Round the input value to the nearest integer.
- Floor
Rounds the input value down to the nearest integer.
- Ceil
Rounds the input value up to the nearest integer.
- Truncate
Outputs the integer part of the value.
- Fraction
- Modulo
Outputs the remainder once the first value is divided by the second value.
- Wrap
Outputs a value between Min and Max based on the absolute difference between the input value and the nearest integer multiple of Max less than the value.
- Snap
Round the input value to down to the nearest integer multiple of Increment.
- Ping-pong
The output value is moved between 0.0 and the Scale based on the input value.
- Trigonometric
- Sine
The Sine of the input value.
- Cosine
The Cosine of the input value.
- Tangent
The Tangent of the input value.
- Arcsine
The Arcsine of the input value.
- Arccosine
The Arccosine of the input value.
- Arctangent
The Arctangent of the input value.
- Arctan2
Outputs the Inverse Tangent of the first value divided by the second value measured in radians.
- Hyperbolic Sine
The Hyperbolic Sine of the input value.
- Hyperbolic Cosine
The Hyperbolic Cosine of the input value.
- Hyperbolic Tangent
The Hyperbolic Tangent of the input value.
- Conversion
- To Radians
Converts the input from degrees to radians.
- To Degrees
Converts the input from radians to degrees.
- Clamp
Limits the output to the range (0.0 to 1.0). See clamp.
Sorties¶
- Value
Sortie de valeur numérique.
Exemples¶
Manual Z-Mask¶
Cet exemple a une entrée de scène par le node Render Layers du haut, qui a un cube qui est à environ 10 unités de la caméra. 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 ; ainsi il choisit 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, aussi elles sont choisies pour le côté gauche, mais les valeurs Z du plan Render Layers sont infinies (correspondant à 1.0) pour le côté droit, aussi elles sont choisies.
Utilisation de la fonction Sine (Sinus) pour Pulsate¶
This example has a Time node putting out a linear sequence from 0 to 1 over the course of 101 frames. At frame 25, the output value is 0.25. That value is multiplied by 2 × pi (6.28) and converted to 1.0 by the Sine function, since \(sin(2 × pi/ 4) = sin(pi/ 2) = +1.0\).
Puisque la fonction Sine (sinus) peut sortir des valeurs entre (-1.0 à 1.0), le node Map Value met cela à l’échelle (0.0 à 1.0) en prenant l’entrée (-1 à 1), en ajoutant 1 (0 à 2), et en multipliant le résultat par un demi (mettant ainsi à l’échelle la sortie entre 0 à 1). Le Color Ramp par défaut convertit ces valeurs en une échelle de gris. Ainsi, le 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\). C’est comme avoir votre propre machine à calculer en couleur visuelle ! L’animation de cette configuration de nodes offre une séquence cyclique lisse à travers une palette de gris.
Utilisez cette fonction pour varier, par exemple, le canal alpha d’une image pour produire un effet de fusion . Modifiez le canal Z pour déplacer une scène dans/hors du focus. Modifiez une valeur de canal de couleur pour faire une « pulsation » de couleur.
Brightening (Scaling) a Channel¶
Cet exemple a un node Math: Multiply augmentant le canal luminance (Y) de l’image pour la rendre plus claire. Notez que vous devriez utiliser un node Map Value avec min() et max() activés pour borner la sortie aux valeurs valides. Avec cette approche, vous pourriez utiliser une fonction logarithmique pour construire une image à palette hautement dynamique. Pour cet exemple particulier, il y a aussi un node Bright/Contrast qui pourrait offrir un contrôle plus simple sur 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 une ensemble de valeurs, la fonction suivante est utilisée : \(round(x × n - 0.5) / (n - 1)\), où « n » est le nombre de valeurs possibles de sortie, et « x » est la couleur de pixel d’entrée. Plus sur cette fonction.
To implement this function in Blender, consider the node setup above. We string the Math nodes into a function that takes each color (values from 0 to 1), multiplies it up by six, the desired number of divisions (values become from 0 to 6), offsets it by 0.5 (-0.5 to 5.5), rounds the value to the nearest whole number (produces 0, 1, 2, 3, 4, 5), and then divides the image pixel color by five (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.