跟踪两个网格

计算科学 线性代数 矩阵 模拟
2021-11-25 20:36:35

我正在处理物理模拟(基于位置的动态)。现在我正在尝试实现对两个网格的跟踪。为了解释它的含义,让我们假设我们有两个相似的网格:一个具有精细分辨率,另一个具有粗糙度。需要以高分辨率网格跟随粗网格移动的方式进行。但它不应该是精确的跟随,而应该只是一般的跟随。让我们从数学角度考虑这个任务:首先我们需要构建 Laplace-Beltrami 离散算子。我使用下一个定义

L=V1/2CV1/2,
在哪里V是 Voronoi 区域的对角矩阵,C是余切权重的稀疏对称矩阵。之后我执行特征值分解
L=QAQT
下一步是建立调和函数矩阵T;

在互联网上我发现它可以用下一种方式构建

T=(V1/2Q)T
所以现在我有nn矩阵 T,其中 n - 是细网格中的顶点数。现在,如果有 T 矩阵,我可以建立下一个约束
Tpf==TBpc

pf是细网格中顶点的向量

pc是粗网格中的顶点向量

B这样的矩阵Bpc=pf.

如果满足此约束,则细网格精确地遵循粗网格。现在,如果我们从矩阵中丢弃T那些特征向量,对应于我们获得的最大特征值kn矩阵T,这意味着我们在网格频谱表示中丢弃了有关高频谐波的信息。因此,具有精细分辨率的网格通常仅适用于粗糙的网格,但像皱纹这样的小细节会有所不同。

在我的实现中,它只有在我使用完整时才有效T矩阵,但是当我丢弃至少一个特征向量时,行为变得不可预测。

问题:这种方法是否存在任何基本错误?我对所有事情都充满信心,除了定义T矩阵。

0个回答
没有发现任何回复~