COMP9021--7.15
期中之后的知识点越来越古怪了,这节课的大意是分析一个由任意0,1组成的点阵,计算value为1的点周围上下左右都有几个点value也为1,然后根据邻居个数建立新的点阵,难点是分析情况较多,因为要分析该点是否在边界线上,故而可以在原始点阵周围加一圈0,就不用再考虑邻居点是否在边界线上了,如图所示:
从这道题中,继而引入了numpy的概念
numpy中的reshape可以改变array的维度,如:
import numpy as np
a=np.array([1,2,3,4,5,6,7,8]) #一维数组
d=a.reshape ((2,4)) #改为一个二维数组
#out: array ( [ [1,2,3,4],
[5,6,7,8] ] )
回到刚才的题目,还有一种思路是去掉最后两行两列,用剩下的点组成新的点阵,该点阵上下左右平移,得到邻居点的value
numpy中还有logical_and:
np.logical_and(True, False)
False
reference: https://blog.csdn.net/u010916338/article/details/84066369