Узел 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 (деление)

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

Множественное Добавление

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

Power

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

Logarithm (логарифм)

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

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

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

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

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

Абсолютный

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

Экспонента (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.

Modulo

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

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 Bright/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.

To split up a continuous range of values between 0 and 1 to certain set of values, the following function is used: \(round(x × n - 0.5) / (n - 1)\), where «n» is the number of possible output values, and «x» is the input pixel color. Read more about this function.

Чтобы реализовать эту функцию в 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.