C 二维坐标变换

问题背景:

        当你在对一个二维矩阵表示的图做遍历时,有没有觉得四个方向很头大!其实我们可以定义

dx、dy数组来分别表示两个方向的偏移量,通过四种组合来表示坐标变换。

        这里我们不做多余的介绍了,直接举个例子:

Example:

  

int x,y;
int dx[4]={-1,1,0,0};
int dy[4]={0,0,1,-1};

for(int i=0;i<4;i++}{
    int x2=x1+dx[i],y2=y1+dy[i];
    if(x2>=0&&y2>=0&&x2<=rows-1&&y2<=cols-1){
        ......
    }
}

这里,其实我们只要让dx,dy下标相同时,一个取0,一个不取0(取1或-1)就可以了。

如果本文对你有帮助,不要吝啬手里的点赞哦~

你可能感兴趣的:(C,c++,c语言)