Нода «Векторная математика» (vector math node)#
Нода 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)
Вывод значения.