字符矩阵的旋转 镜面对称 1.2.2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符矩阵的旋转 镜面对称 1.2.2相关的知识,希望对你有一定的参考价值。

  字符矩阵顺时针旋转90度的时候, 行变成列, 列变成行。 镜面对称不是很难直接上测试代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;

char mata[100][100], matb[100][100];
int N, M;    //N行M列
void rot90(char mata[][100])
{
    char tp[100][100];
    for(int i=0; i<N; i++)
        for(int j=0; j<M; j++)
            tp[j][N-1-i] = mata[i][j];    //这里行变成列 列变成行
    for(int i=0; i<M; i++)
        for(int j=0; j<N; j++) mata[i][j] = tp[i][j];
}

void mirror(char mata[][100])
{
    for(int i=0; i<N; i++)
    {
        for(int j=0; j<M/2; j++)
            swap(mata[i][j], mata[i][M-1-j]);            //将第i行反转
    }
}

int main()
{
    cin>>N>>M;
    for(int i=0; i<N; i++)
        scanf("%s", mata[i]);
    //rot90(mata);
    mirror(mata);
    for(int i=0; i<N; i++)
    {
        for(int j=0; j<M; j++)
            printf("%c", mata[i][j]);
        printf("\n");
    }
    return 0;
}

 

以上是关于字符矩阵的旋转 镜面对称 1.2.2的主要内容,如果未能解决你的问题,请参考以下文章

旋转矩阵的三维空间

90度旋转矩阵

GLSL 镜面光照旋转

旋转矩阵公式,是啥?

11个号中5保5旋转矩阵公式

图像处理那些算法