Applies one or more 4×4 transformation matrices to a list of points sequentially. Each transformation is applied in order (composition of transformations). Example: points=[[0,0,0], [1,0,0]] with translation [5,0,0] → [[5,0,0], [6,0,0]]
Flattens nested transformation arrays into a single-level array of transformation matrices. Handles both 2D arrays (single transform list) and 3D arrays (nested transform lists). Example: [[[matrix1, matrix2]], [[matrix3]]] → [matrix1, matrix2, matrix3]
Removes all duplicate vectors from a list (works with arbitrary-length numeric vectors). Compares vectors using tolerance for floating-point equality. Example: [[1,2], [3,4], [1,2], [5,6]] with tolerance=1e-7 → [[1,2], [3,4], [5,6]]
Optionaltolerance: numberRemoves consecutive duplicate vectors from a list (keeps only first occurrence in each sequence). Optionally checks and removes duplicate if first and last vectors match. Example: [[1,2], [1,2], [3,4], [3,4], [5,6]] → [[1,2], [3,4], [5,6]]
OptionalcheckFirstAndLast: booleanOptionaltolerance: numberCompares two vectors for approximate equality using tolerance (element-wise comparison). Returns false if vectors have different lengths. Example: [1.0000001, 2.0], [1.0, 2.0] with tolerance=1e-6 → true
Checks if two numbers are approximately equal within a tolerance. Example: 1.0000001, 1.0 with tolerance=1e-6 → true, 1.001, 1.0 with tolerance=1e-6 → false
Removes consecutive duplicate points from a list (specialized for 3D/2D points). Optionally checks and removes duplicate if first and last points match (for closed loops). Example: [[0,0,0], [0,0,0], [1,0,0], [1,0,0]] → [[0,0,0], [1,0,0]]
OptionalcheckFirstAndLast: booleanOptionaltolerance: number
Calculates the nesting depth of an array recursively. Example: [1,2,3] → 1, [[1,2],[3,4]] → 2, [[[1]]] → 3