我对游戏物理学很陌生。我有一个 2D 或 3D 网格的问题。计算单元分别是三角形或四面体。某些物理量(例如密度和能量)在细胞中心给出为细胞中心平均值。我需要计算网格中所有单元格中心的这些量的梯度。
据我了解,在一维中,单元格 (i) 中某个量的导数可以通过将相邻单元格 (i+1,i-1) 中该量值的差值除以它们之间的距离来计算(中心差公式)。我不明白的是在任意 2D 或 3D 网格上解决这个问题?
我可以引用一些文献来获得这样的数值方法/算法吗?
提前致谢。
最佳答案
This paper在考虑网格上的微分算子时,这是一个很好的起点。它没有进入体积网格(如果我记得的话),但这是一个好的开始。特别是,本文提出了从离散微分几何观点 (DDG) 角度分配顶点梯度的合理选择,您可以使用重心坐标来计算小平面内部的梯度场。
关于计算 2D 和 3D 网格中数量的导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21355096/