xxxxxxxxxx
/**
* MatrixCopy (v1.0)
* GoToLoop (2018/Jan/12)
*
* Forum.Processing.org/two/discussion/25921/
* problems-with-transpose-a-2d-array-or-matrix#Item_7
*
* OpenProcessing.org/sketch/496288
*/
final int[][] matrix = {
{0, 0, 0},
{0, 1, 0},
{1, 1, 1}
};
final int[][] cloned = new int[3][3];
void setup() {
matrixCopyInt(matrix, cloned);
showMatrixInt(matrix);
println();
showMatrixInt(cloned);
exit();
}
static final void showMatrixInt(final int[][] arr2d) {
for (final int[] arr1d : arr2d) println(str(arr1d));
}
static final void matrixCopyInt(final int[][] src2d, final int[][] dst2d) {
for (int len = min(src2d.length, dst2d.length), i = 0; i < len; ++i) {
final int[] src1d = src2d[i], dst1d = dst2d[i];
final int items = min(src1d.length, dst1d.length);
arrayCopy(src1d, dst1d, items);
}
}