对于您的第一个问题,构建“分区”(您称之为“单元组”)的邻接图:假设您有一个数组pK您为每个单元格存储的位置K哪个分区p它属于。还假设您有一个(稀疏)数组aKL其条目是trueif 单元格K和L是邻居(“相邻”)。然后分区s与分区“相邻”t如果t在集合中
(⋃K,pK=s⋃L,aKL=true{pL})∖{s}.
(换句话说,我们循环遍历所有单元格K在分区中s,然后在所有邻居L这些K,并收集它们的分区索引。此联合包含分区的所有分区索引s毗邻,但可能包括s本身——所以我们扔掉s在末尾。
对于您的第二个问题,可视化 - 这通常通过以下方式完成:
- 对于每个分区s, 计算其质心xs,例如通过取此分区中单元格中心的平均值。
- 计算整个域的质心x^,例如通过取所有细胞中心的平均值。
- 可视化网格时,您使用偏移量绘制每个三角形α(xs−x^)用一个小α- 说,α=0.05. 本质上,这样做是将每个分区从全局质心向外移动一个距离,该距离与该分区距质心的距离成正比。一些可视化程序已经可以为您做到这一点——该选项通常称为“explode”。