基于邻接矩阵

时间:2018-06-05 15:43:07

标签: c++ matrix mesh adjacency-matrix

我有一个向量 e ,其元素是2D(表面)网格中边的索引。无论出于何种原因,我想重新排序这个向量,以便每个边都被最接近它的边包围(基本上,类似于提问者试图在this question中实现的)。

我不需要它是一个完全或完美的解决方案(可能没有一个),但我想尽可能接近。

以下是我采取的步骤:

  1. 为网格边创建一个邻接矩阵 B
  2. 使用RCM之类的算法来重新排序邻接矩阵以减少其带宽(我正在使用Petsc的MatGetOrdering来执行此操作),
  3. 应用新订单以获得新的重新调整的邻接矩阵 B2
  4. 此时,我想重新排序网格边缘的原始矢量 e ,以获得一个新的矢量 e2 ,其邻接矩阵现在 B2 < /强>

    • 这可能吗?即上面有足够的信息来实现这个目标吗?
    • 这是一个很好的方法来做我想要实现的目标吗?
      • 如果没有,那么最明智和最有效的方法是什么? (例如,我也在尝试基于物理距离而不是边缘连接来做这个,但我不确定哪种方法更真实/更明智/更健壮),
      • 如果是,我如何根据新的邻接矩阵完成重新排序边缘向量的最后一步?

    我是Stack Exchange的新手,所以如果我想在另一个子社区问这个问题,请告诉我。我对图论也很新,所以我可能会遗漏一些明显的东西。

    谢谢!

0 个答案:

没有答案