我有一个numpy数组,它表示三维模型中面的邻接关系。通常,第n行和第n列表示模型的第n个面。如果1位于矩阵的右上三角形中,则表示两个面之间的凸连接。如果1位于左下角的三角形中,则表示凹面连接。你知道吗
例如,在下面的矩阵中,面1和2、1和3、2和3之间存在凸连接,依此类推。你知道吗
1 2 3 4 5 6
1 [[ 0. 1. 1. 0. 0. 0.]
2 [ 0. 0. 1. 1. 1. 1.]
3 [ 0. 0. 0. 0. 0. 0.]
4 [ 0. 0. 0. 0. 1. 0.]
5 [ 0. 0. 0. 0. 0. 0.]
6 [ 0. 0. 0. 0. 0. 0.]]
我想能够记录有多少凹和凸连接每个面有。你知道吗
即,面1具有:0个凹面和2个凸面连接
甚至可能记录下它们与哪些面相连。你知道吗
即,面1有:0个凹面和2个凸面(2,3)连接
到目前为止,我已经尝试使用np.nonzero()
返回1的索引。但是,返回索引的格式似乎不太容易使用(行和列索引的单独数组:
(array([ 0, 0, 1, 1, 1, 1, 3]), array([ 1, 2, 2, 3, 4, 5,
4]))
有人能帮我找到一个更容易的方法来完成这项任务吗?谢谢
试试这个:
给出结果:
其中dictionary键是面的名称,键值是它的连接。你知道吗
逻辑是:
对于每个非零对(i,j)
相关问题 更多 >
编程相关推荐