Нода «Векторная математика» (vector math node)

Нода ":abbr:`Векторная математика (Vector Math)`".

Нода Vector Math выполняет выбранную математическую операцию над входными векторами.

Входы (inputs)

Входы ноды являются динамическими. Некоторые входы доступны только в определённых операциях. Например, вход Scale доступен только в операторе Scale.

Вектор (vector)

Входной вектор \(A = \begin{pmatrix} A_x \\ A_y \\ A_z \end{pmatrix}\).

Вектор (vector)

Входной вектор \(B = \begin{pmatrix} B_x \\ B_y \\ B_z \end{pmatrix}\).

Масштаб (scale)

Входной масштаб \(s\).

Свойства

Операция (operation)

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

Добавить (Сложить) (add):

Сумма A и B. \(\begin{pmatrix} A_x + B_x \\ A_y + B_y \\ A_z + B_z \end{pmatrix}\)

Вычесть (subtract):

Разница между A и B. \(\begin{pmatrix} A_x - B_x \\ A_y - B_y \\ A_z - B_z \end{pmatrix}\)

Перемножить (multiply):

Поэлементное произведение (умножение) A на B. \(\begin{pmatrix} A_x \cdot B_x \\ A_y \cdot B_y \\ A_z \cdot B_z \end{pmatrix}\)

Разделить (divide):

Поэлементное деление A на B. Деление на ноль даёт ноль. \(\begin{pmatrix} A_x / B_x \\ A_y / B_y \\ A_z / B_z \end{pmatrix}\)

Умножить и сложить (multiply add):

Поэлементная комбинация операций умножения и сложения. \(A × B + C\)

Векторное произведение (cross product):

Векторное произведение A и B. \(\begin{pmatrix} A_y \cdot B_z - A_z \cdot B_y \\ A_z \cdot B_x - A_x \cdot B_z \\ A_x \cdot B_y - A_y \cdot B_x \end{pmatrix}\)

Проецировать (project):

Проекция A на B.

Отразить (reflect):

Отражение A относительно нормали B. B не нуждается в нормализации.

Преломление (refract):

Для данного падающего вектора A, нормали к поверхности B и отношения показателей преломления (IOR), функция Refract выводит вектор преломления R.

Вперёд (faceforward):

Ориентирует вектор A так, чтобы он указывал от поверхности B, как определено его нормалью C. Вычисляется \((dot(B, C) < 0) ? A : -A\).

Скалярное произведение (dot product):

Скалярное произведение A и B. \(A_x \cdot B_x + A_y \cdot B_y + A_z \cdot B_z\)

Расстояние (distance):

Расстояние между А и В.

Длина (length):

Длина A. \(\sqrt{A_x^2 + A_y^2 + A_z^2}\)

Масштаб (scale):

Результат умножения A на скалярный вход Scale. \(\begin{pmatrix} s \cdot A_x \\ s \cdot A_y \\ s \cdot A_z \end{pmatrix}\)

Нормализовать (normalize):

Результат нормализации A. Результирующий вектор указывает в том же направлении, что и A, и имеет длину 1. Если A равно (0, 0, 0), результат также равен (0, 0, 0).

Обернуть (wrap):

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

Привязать (snap):

Результат округления A до наибольшего целого числа, кратного B, меньшего или равного A.

Пол (Округлить вниз) (floor):

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

Округлить вверх (ceil):

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

Остаток деления (modulo):

Входной остаток деления A от B.

Дробная часть (fraction):

Возвращает дробную часть значения по порядку.

Модуль / Абсолютно (absolute):

Входное модульное значение A.

Минимум (minimum):

Минимальное входное значение из А и В.

Максимум (maximum):

Максимальное входное значение из А и В.

Синус (sine):

The entrywise Sine of A.

Косинус (cosine):

The entrywise Cosine of A.

Тангенс (tangent):

The entrywise Tangent of A.

Выходы (outputs)

Вывод ноды является динамическим. Это либо вектор, либо скаляр – в зависимости от оператора. Например, оператор Length имеет скалярный вывод, а оператор Add – векторный.

Вектор (vector)

Вывод вектора.

Значение (value)

Вывод значения.