Vector Math Node#

Vector Math Node.

The Vector Math node performs the selected math operation on the input vectors.

Inputs#

The inputs of the node are dynamic. Some inputs are only available in certain operations. For instance, the Scale input is only available in the Scale operator.

Vector

Input vector \(A = \begin{pmatrix} A_x \\ A_y \\ A_z \end{pmatrix}\).

Vector

Input vector \(B = \begin{pmatrix} B_x \\ B_y \\ B_z \end{pmatrix}\).

Scale

Input Scale \(s\).

Properties#

Operation

The vector math operator to be applied on the input vectors.

Add:

The sum of A and B. \(\begin{pmatrix} A_x + B_x \\ A_y + B_y \\ A_z + B_z \end{pmatrix}\)

Subtract:

The difference between A and B. \(\begin{pmatrix} A_x - B_x \\ A_y - B_y \\ A_z - B_z \end{pmatrix}\)

Multiply:

The entrywise product of A and B. \(\begin{pmatrix} A_x \cdot B_x \\ A_y \cdot B_y \\ A_z \cdot B_z \end{pmatrix}\)

Divide:

The entrywise division of A by B. Division by zero results in zero. \(\begin{pmatrix} A_x / B_x \\ A_y / B_y \\ A_z / B_z \end{pmatrix}\)

Multiply Add:

The entrywise combination of the multiply and addition operations. \(A × B + C\)

Cross Product:

The cross product of A and 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:

The projection of A onto B.

Reflect:

The reflection of A around the normal B. B need not be normalized.

Refract:

For a given incident vector A, surface normal B and ratio of indices of refraction (IOR), refract outputs the refraction vector R.

Faceforward:

Orients a vector A to point away from a surface B as defined by its normal C. Computes \((dot(B, C) < 0) ? A : -A\).

Dot Product:

The dot product of A and B. \(A_x \cdot B_x + A_y \cdot B_y + A_z \cdot B_z\)

Distance:

The distance between A and B.

Length:

The length of A. \(\sqrt{A_x^2 + A_y^2 + A_z^2}\)

Scale:

The result of multiplying A by the scalar input Scale. \(\begin{pmatrix} s \cdot A_x \\ s \cdot A_y \\ s \cdot A_z \end{pmatrix}\)

Normalize:

The result of normalizing A. The result vector points to the same direction as A and has a length of 1. If A is (0, 0, 0), the result is (0, 0, 0) as well.

Wrap:

The entrywise output of a value between Min and Max based on the absolute difference between the input value and the nearest integer multiple of Max less than the value.

Snap:

The result of rounding A to the largest integer multiple of B less than or equal A.

Floor:

Rounds the input value entrywise down to the nearest integer.

Ceil:

Rounds the input value entrywise up to the nearest integer.

Modulo:

The entrywise modulo of A by B.

Fraction:

Returns the fractional part of the value entrywise.

Absolute:

The entrywise absolute value of A.

Minimum:

The entrywise minimum value from A and B.

Maximum:

The entrywise maximum value from A and B.

Sine:

The entrywise Sine of A.

Cosine:

The entrywise Cosine of A.

Tangent:

The entrywise Tangent of A.

Outputs#

The output of the node is dynamic. It is either a vector or a scalar depending on the operator. For instance, the Length operator has a scalar output while the Add operator has a vector output.

Vector

Output vector.

Value

Output value.