Contains two vectors represented as number arrays
Number in degrees
Measures the normalized 2D angle between two vectors in degrees (considers direction, can be negative). Example: [1,0] to [0,1] → 90°, [0,1] to [1,0] → -90°
Contains two vectors represented as number arrays
Number in degrees
Measures a positive angle between two vectors given the reference vector in degrees (always 0-360°). Example: converts negative signed angles to positive by adding 360° when needed
Contains information of two vectors and a reference vector
Number in degrees
Computes signed angle between two vectors using a reference vector (determines rotation direction). Example: Returns positive or negative angle depending on rotation direction relative to reference
Contains information of two vectors and a reference vector
Signed angle in degrees
Computes the cross product of two 3D vectors (perpendicular vector to both inputs). Example: [1,0,0] × [0,1,0] → [0,0,1] (right-hand rule)
Two vectors to be crossed
Crossed vector
Divides each element of the vector by a scalar value. Example: [10,20,30] ÷ 2 → [5,10,15]
Contains vector and a scalar
Vector that is a result of division by a scalar
Computes the domain (range) between minimum and maximum values of the vector. Example: [1,3,5,9] → 8 (difference between last and first: 9-1)
Vector information
Number representing distance between two vectors
Calculates the dot product between two vectors (measures similarity/projection). Example: [1,2,3] • [4,5,6] → 32 (1×4 + 2×5 + 3×6), perpendicular vectors → 0
Two vectors
Number representing dot product of the vector
Multiplies each element of the vector by a scalar value. Example: [2,3,4] × 5 → [10,15,20]
Vector with a scalar
Vector that results from multiplication
Negates the vector (flips the sign of each element). Example: [5,-3,2] → [-5,3,-2]
Vector to negate
Negative vector
Computes the squared norm (squared magnitude/length) of the vector. Example: [3,4,0] → 25 (length 5 squared)
Vector for squared norm
Number that is squared norm
Calculates the norm (magnitude/length) of the vector. Example: [3,4,0] → 5, [1,0,0] → 1
Vector to compute the norm
Number that is norm of the vector
Normalizes the vector into a unit vector that has a length of 1 (maintains direction, scales magnitude to 1). Example: [3,4,0] → [0.6,0.8,0], [10,0,0] → [1,0,0]
Vector to normalize
Unit vector that has length of 1
Finds a point on a ray at a given distance from the origin along the direction vector. Example: Point [0,0,0] + direction [1,0,0] at distance 5 → [5,0,0]
Provide a point, vector and a distance for finding a point
Vector representing point on the ray
Subtracts the second vector from the first element-wise. Example: [10,20,30] - [1,2,3] → [9,18,27]
Two vectors
Vector that result by subtraction two vectors
Sums all values in the vector and returns a single number. Example: [1,2,3,4] → 10, [5,10,15] → 30
Vector to sum
Number that results by adding up all values in the vector
Computes the squared length (squared magnitude) of a 3D vector. Example: [3,4,0] → 25 (length 5 squared)
Vector to compute the length
Number that is squared length of the vector
Computes the length (magnitude) of a 3D vector. Example: [3,4,0] → 5, [1,0,0] → 1
Vector to compute the length
Number that is length of the vector
Creates a 3D vector from x, y, z coordinates. Example: x=1, y=2, z=3 → [1,2,3]
Vector coordinates
Create a vector of xyz values
Creates a 2D vector from x, y coordinates. Example: x=3, y=4 → [3,4]
Vector coordinates
Create a vector of xy values
Creates a vector of integers from 0 to max (exclusive). Example: max=5 → [0,1,2,3,4], max=3 → [0,1,2]
Max value for the range
Vector containing items from 0 to max
Creates a vector containing numbers from min to max at a given step increment. Example: min=0, max=10, step=2 → [0,2,4,6,8,10]
Span information containing min, max and step values
Vector containing number between min, max and increasing at a given step
Creates a vector with numbers from min to max using an easing function for non-linear distribution. Example: min=0, max=100, nrItems=5, ease='easeInQuad' → creates accelerating intervals
Span information containing min, max and ease function
Vector containing numbers between min, max and increasing in non-linear steps defined by nr of items in the vector and type
Creates a vector with evenly spaced numbers from min to max with a specified number of items. Example: min=0, max=10, nrItems=5 → [0, 2.5, 5, 7.5, 10]
Span information containing min, max and step values
Vector containing number between min, max by giving nr of items
Converts an array of stringified numbers to actual numbers. Example: ['1', '2.5', '3'] → [1, 2.5, 3], ['10', '-5', '0.1'] → [10, -5, 0.1]
Array of stringified numbers
Array of numbers
Calculates squared distance between two vectors (faster than distance, avoids sqrt). Example: [0,0,0] to [3,4,0] → 25 (distance 5 squared)
Two vectors
Number representing squared distance between two vectors
Calculates the Euclidean distance between two vectors. Example: [0,0,0] to [3,4,0] → 5, [1,1] to [4,5] → 5
Two vectors
Number representing distance between two vectors
Finds an interpolated vector between two vectors using a fraction (linear interpolation). Example: [0,0,0] to [10,10,10] at 0.5 → [5,5,5], fraction="/?originalUrl=https%3A%2F%2Fdocs.bitbybit.dev%2F0%2520%25E2%2586%2592%2520first%2C%2520fraction%3D1%2520%25E2%2586%2592%2520second%253C%2Fp">
Information for finding vector between two vectors using a fraction
Vector that is in between two vectors
Finds the maximum (largest) value in the vector. Example: [3, 7, 2, 9, 1] → 9
Vector to be checked
Largest number in the vector
Finds the minimum (smallest) value in the vector. Example: [3, 7, 2, 9, 1] → 1
Vector to be checked
Lowest number in the vector
Removes all duplicate vectors from the input array (keeps only unique vectors). Example: [[1,2,3], [4,5,6], [1,2,3], [7,8,9]] → [[1,2,3], [4,5,6], [7,8,9]]
Contains vectors and a tolerance value
Array of vectors without duplicates
Removes consecutive duplicate vectors from the input array (only removes duplicates that appear next to each other). Example: [[1,2], [1,2], [3,4], [1,2]] → [[1,2], [3,4], [1,2]] (only removed consecutive duplicate)
Contains vectors and a tolerance value
Array of vectors without duplicates
Adds all vector xyz values together element-wise and creates a new vector. Example: [[1,2,3], [4,5,6], [7,8,9]] → [12,15,18] (sums each column)
Vectors to be added
New vector that has xyz values as sums of all the vectors
Adds two vectors together element-wise. Example: [1,2,3] + [4,5,6] → [5,7,9]
Two vectors to be added
Number array representing vector
Checks if the boolean array contains only true values, returns false if there's a single false. Example: [true, true, true] → true, [true, false, true] → false
Vectors to be checked
Boolean indicating if vector contains only true values
Checks if two vectors are the same within a given tolerance (accounts for floating point precision). Example: [1,2,3] vs [1.0001,2.0001,3.0001] with tolerance 0.001 → true
Contains two vectors and a tolerance value
Boolean indicating if vectors are the same
Checks if each element in the vector is finite and returns a boolean array. Example: [1, 2, Infinity, 3] → [true, true, false, true]
Vector with possibly infinite values
Vector array that contains boolean values for each number in the input vector that identifies if value is finite (true) or infinite (false)
Checks if the vector has zero length (all elements are zero). Example: [0,0,0] → true, [0,0,0.001] → false
Vector to be checked
Boolean that identifies if vector is zero length
Measures the angle between two vectors in degrees (always returns positive angle 0-180°). Example: [1,0,0] and [0,1,0] → 90° (perpendicular vectors)