Узел Math#

Узел "Math".

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

Входы#

The inputs of the node are dynamic. Some inputs are only available for certain operations. For instance, the Addend input is only available for 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 (обратный квадратный корень):

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

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 (отсечение):

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

Фракция:

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:

Bounces back and forth between 0.0 and the Scale as the input value increases.

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

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

The top Render Layers node has a cube that is about 10 units from the camera. The bottom Render Layers node has 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 multiply the depth value by 0.05 and clamp it to [0.0, 1.0], bringing it into a suitable range for displaying it as a color.

The Minimum node selects the smallest of the two depth values at each pixel. In the left half, it chooses the plane (because it’s closer than the cube), and in the right half, it chooses the cube (because it’s closer than the background, which is infinitely far away).

The Maximum node selects the largest of the two depth values at each pixel. In the left half, it chooses the cube (because it’s farther away than the plane), and in the right half, it chooses the background (because it’s farther away than the cube).

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

../../../_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 output 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 0.5 (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.

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 Color nodes and perform this operation on each channel independently.