回文字(Palindromic Chinese characters)

回文数大家应该都很熟悉(比如88, 121, 3443......),但回文汉字呢?比如“王”、“中”、“土”……这些,我们不妨来探索一下。

下面的代码生成3000多个常用汉字

回文字(Palindromic Chinese characters)

Rasterize函数可以把任意表达式转为图像

回文字(Palindromic Chinese characters)

ImageData把一个图像转换成三维数组,SimSun是宋体

回文字(Palindromic Chinese characters)

用ArrayPlot画出矩阵图,0为黑色,1为白色回文字(Palindromic Chinese characters)

或者
回文字(Palindromic Chinese characters)

现在,要判断汉字是否左右对称只需看矩阵是否对称就行了

经过筛选,总共找到了163个

回文字(Palindromic Chinese characters)

以上便是左右对称的汉字,代码只需稍加改动还能找出上下对称的汉字,

回文字(Palindromic Chinese characters)

到了最后,发现尚有遗漏,有些对称字并未找到,看来不同字体甚至不同的字号也会影响结果的,这个还需要进一步完善,下图是“兰”在12--17号字体大小时的情况

回文字(Palindromic Chinese characters)


你可能感兴趣的:(回文,对称)