我正在尝试使用循环平铺技术来编写一个旋转图像矩阵的函数。但是,我遇到了一些使其正常工作的问题。编辑: 这是我的更新代码,但只有当n是块大小的倍数。我将如何去处理不同的矩阵大小?现在,我只是使用方块,对于那些方块来说效果很好。我将如何去改变这个使用基于我给出的数组大小的矩形块。具体来说,如果我得到一个n×n的数组,我该如何选择矩形块的尺寸来将其分解成?循环平铺旋转矩阵
//Block size to tune
int block = 20;
int i1, j1, k1, i, j, k;
for(i1 = 0; i1 < n; i1 += block) {
for(j1 = 0; j1< n; j1 += block) {
for(i = i1; i < i1 + block; i++){
for(j = j1; j < j1 + block; j++){
dest[getInd(j, i, n)] = src[getInd(i, n - 1 - j, n)];
}
}
}
}
}
好......问题在哪里? *你得到了什么结果? – 2010-10-06 20:32:16
在顶部添加原始矩阵的结果图像,在底部不正确地旋转。 – CCSab 2010-10-06 20:40:53
+1循环平铺! – 2010-10-06 20:45:19