Узел Math

Узел "Math".

Узел Math позволяет выполнять математические операции.

Входы

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

Входное значение. Тригонометрические функции читают это значение как радианы.

Addend

Вход Addend.

Base (основание)

Вход основания.

Exponent (экспонента)

Вход экспоненты.

Epsilon

Вход Эпсилон.

Distance (расстояние)

Вход расстояния.

Min

Вход минимума.

Max

Вход максимума.

Increment (увеличение)

Вход инкремента.

Scale (масштаб)

Вход масштаба.

Degrees (градусы)

Вход градусов.

Radians (радианы)

Вход радиан.

Свойства

Операция

Математическая операция, применяемая к входным значениям:

Functions (функции)
Add:

Сумма двух значений.

Subtract:

Разность между двумя значениями.

Multiply:

Произведение двух значений.

Divide (деление):

Деление первого значения на второе значение.

Multiply Add:

Сумма произведения двух значений со значением Addend.

Power:

Возведение базы (Base) в степень экспоненты (Exponent).

Logarithm (логарифм):

Логарифм значения с базой (Base) в качестве основания.

Square Root (квадратный корень):

Квадратный корень значения.

Inverse Square Root (обратный квадратный корень):

Единица, делённая на квадратный корень значения.

Absolute:

Входное значение читается без учёта его знака. Это превращает отрицательные значения в положительные значения.

Exponent (экспонента):

Возводит число Эйлера в степень значения.

Comparison (сравнение)
Minimum (минимум):

Выводит наименьшее из входных значений.

Maximum (максимум):

Выводит наибольшее из двух входных значений.

Less Than (меньше чем):

Выводит 1.0, если первое значение меньше второго. В противном случае вывод равен 0.0.

Greater Than (больше чем):

Выводит 1.0, если первое значение больше второго. В противном случае вывод равен 0.0.

Sign (знак числа):

Извлекает знак входного значения. Все положительные числа выведут 1.0. Все отрицательные числа выведут -1.0. И значение 0.0 выведет 0.0.

Compare (сравнение):

Выводит 1.0, если разница между двумя входными значениями меньше или равна Epsilon.

Smooth Minimum (сглаженный минимум):

Smooth Minimum.

Smooth Maximum (сглаженный максимум):

Сглаженный максимум.

Rounding (округление)
Round:

Округляет входное значение до ближайшего целого числа.

Floor:

Округляет входное значение в меньшую сторону до ближайшего целого числа.

Ceil:

Округляет входное значение в большую сторону до ближайшего целого числа.

Truncate (отсечение):

Выводит целую часть значения.

Fraction:

Returns the fractional part of the value.

Truncated Modulo:

Выводит остаток после деления первого значения на второе значение.

Floored Modulo:

Returns the positive remainder of a division operation.

Wrap:

Выводит значение между Min и Max на основе абсолютной разницы между входным значением и ближайшим целым числом, кратным Max, меньшему, чем значение.

Snap:

Округляет входное значение в меньшую сторону до ближайшего целого числа, кратного Increment.

Ping-pong:

The output value is moved between 0.0 and the Scale based on the input value.

Trigonometric (тригонометрические функции)
Sine:

Синус.

Cosine:

Косинус.

Tangent:

Тангенс.

Arcsine:

Арксинус.

Arccosine:

Арккосинус.

Arctangent:

Арктангенс.

Arctan2:

Выводит арктангенс первого значения, делённого на второе значение, измеренное в радианах.

Hyperbolic Sine:

Гиперболический синус.

Hyperbolic Cosine:

Гиперболический косинус.

Hyperbolic Tangent:

Гиперболический тангенс.

Преобразование
To Radians (в радианы):

Преобразует вход из градусов в радианы.

To Degrees (в градусы):

Преобразует входные данные из радианов в градусы.

Clamp

Ограничивает вывод диапазоном от 0.0 до 1.0. См. Clamp.

Выходы

Value

Выход числового значения.

Примеры

Ручная Z-маска

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

Пример функции минимума и максимума.

This example has one scene input by the top Render Layers node, which has a cube that is about 10 units from the camera. The bottom Render Layers node inputs a scene with a plane that covers the left half of the view and is 7 units from the camera. Both are fed through their respective Map Value nodes to divide the Z-buffer by 20 (multiply by 0.05, as shown in the Size field) and clamped to be a min/max of 0.0/1.0 respectively.

For the minimum function, the node selects those Z values where the corresponding pixel is closer to the camera; so it chooses the Z values for the plane and part of the cube. The background has an infinite Z value, so it is clamped to 1.0 (shown as white). In the maximum example, the Z values of the cube are greater than the plane, so they are chosen for the left side, but the plane Render Layers Z are infinite (mapped to 1.0) for the right side, so they are chosen.

Использование функции синуса для пульсаций

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

Пример использования функции синус.

В этом примере узел Time выводит линейную последовательность от 0 до 1 в течение 101 кадра. В кадре 25 выходное значение равно 0.25. Это значение умножается на 2 × пи (6.28) и преобразуется в 1.0 с помощью функции синуса, поскольку \(sin(2 × pi/ 4) = sin(pi/ 2) = +1.0\).

Since the sine function can put out values between (-1.0 to 1.0), the Map Value node scales that to 0.0 to 1.0 by taking the input (-1 to 1), adding 1 (making 0 to 2), and multiplying the result by one-half (thus scaling the output between 0 to 1). The default Color Ramp converts those values to a gray-scale. Thus, medium gray corresponds to a 0.0 output by the sine, black to -1.0, and white to 1.0. As you can see, \(sin(pi/ 2) = 1.0\). Like having your own visual color calculator! Animating this node setup provides a smooth cyclic sequence through the range of grays.

Используйте эту функцию для изменения, к примеру, альфа-канала изображения, чтобы реализовать эффект затухания/проявления. Изменяйте Z-канал, чтобы переместить сцену в фокус / из фокуса. Изменяйте значение цветового канала, чтобы заставить цвет «пульсировать».

Осветление (масштабирование) канала

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

Пример масштабирования канала.

This example has a Math (Multiply) node increasing the luminance channel (Y) of the image to make it brighter. Note that you should use a Map Value node with min() and max() enabled to clamp the output to valid values. With this approach, you could use a logarithmic function to make a high dynamic range image. For this particular example, there is also a Brightness/Contrast node that might give simpler control over brightness.

Ограничение выбора цвета (постеризация)

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

Пример постеризации.

В этом примере мы ограничиваем значения цвета одним из шести значений: 0, 0.2, 0.4, 0.6, 0.8, 1.

Чтобы разбить непрерывный диапазон значений от 0 до 1 на определённый набор значений, используется следующая функция: \(round(x × n - 0.5) / (n - 1)\), где «n» — количество возможных выходных значений, а «x»» — цвет входного пикселя. Подробнее об этой функции.

Чтобы реализовать эту функцию в Blender, рассмотрите настройку узла выше. Мы связываем математические узлы в функцию, которая принимает каждый цвет (значения от 0 до 1), умножает его на шесть, желаемое количество делений (значения становятся от 0 до 6), смещает его на 0.5 (от -0.5 до 5.5) , округляет значение до ближайшего целого числа (выдает 0, 1, 2, 3, 4, 5), а затем делит цвет пикселя изображения на пять (0.0, 0.2, 0.4, 0.6, 0.8, 1.0).

In the case of a color image, you need to split it into separate RGB channels using Separate/Combine RGBA nodes and perform this operation on each channel independently.