翻转展平矩阵

时间:2018-12-09 18:27:17

标签: java matrix transformation

有人问我以下问题:

给定一个表示2D矩阵的1D数组,将值垂直翻转为0(n)或更好。 您将获得矩阵的高度和宽度。

我通过以下方式执行此操作:

 // Given width and height
int w = 8;
int h = 2;

// Initialize the arrays
float[] random = new float[w*h];
float[] output = new float[w*h];

// Fill with random values
for(int i = 0; i < random.length; i++) {
    //random[i] = (float)(Math.random());
    random[i] = (float)(i);
}

// Flip code
int flipped = 0;
for(int i = 0; i < w; i++) {
    for(int j = 0; j < h; j++){
        flipped = Math.abs(i-(w-1));
        output[j*w+i] = random[j*w+flipped];
    }
}

后续问题是,如果它代表3D矩阵,如何将其翻转到0(n)或更佳?

给出此示例是为了澄清:

Width = 2
Height = 2
Depth = 4
Given = [0000111122223333] 
Represents = [ [[0000],[1111]] , [[2222],[3333]] ]
Flipped = [1111000033332222]

我现在仍然知道该怎么做?

0 个答案:

没有答案