As the amazing gif shows, interleaving in this context means converting a matrix into a vector, filled in a row-wise manner.
I’m building this library to be the workhorse for converting matrices (and lists of matrices) into single, interleaved vectors, ready for WebGL applications.
Here are some simple examples
( mat1 <- matrix(1:20, ncol = 2, byrow = T) ) # [,1] [,2] # [1,] 1 2 # [2,] 3 4 # [3,] 5 6 # [4,] 7 8 # [5,] 9 10 # [6,] 11 12 # [7,] 13 14 # [8,] 15 16 # [9,] 17 18 # [10,] 19 20 interleave( mat1 ) # [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ( mat2 <- matrix(20:1, ncol = 5, byrow = T) ) # [,1] [,2] [,3] [,4] [,5] # [1,] 20 19 18 17 16 # [2,] 15 14 13 12 11 # [3,] 10 9 8 7 6 # [4,] 5 4 3 2 1 interleave( mat2 ) # [1] 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 lst <- list( mat1, mat2 ) interleave( lst ) # [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20 19 18 17 16 # [26] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
