计算 2D 和 3D 网格中数量的导数

标签 c simulation computational-geometry game-physics mesh

我对游戏物理学很陌生。我有一个 2D 或 3D 网格的问题。计算单元分别是三角形或四面体。某些物理量(例如密度和能量)在细胞中心给出为细胞中心平均值。我需要计算网格中所有单元格中心的这些量的梯度。

据我了解,在一维中,单元格 (i) 中某个量的导数可以通过将相邻单元格 (i+1,i-1) 中该量值的差值除以它们之间的距离来计算(中心差公式)。我不明白的是在任意 2D 或 3D 网格上解决这个问题?

我可以引用一些文献来获得这样的数值方法/算法吗?

提前致谢。

最佳答案

This paper在考虑网格上的微分算子时,这是一个很好的起点。它没有进入体积网格(如果我记得的话),但这是一个好的开始。特别是,本文提出了从离散微分几何观点 (DDG) 角度分配顶点梯度的合理选择,您可以使用重心坐标来计算小平面内部的梯度场。

关于计算 2D 和 3D 网格中数量的导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21355096/

相关文章:

python - 蚁群模拟——优化路径

javascript - 如何从 geogebra 脚本调用 javascript 函数?

c++ - 填充凸形的有效方法

c - 程序在 scanf 处停止

c - 如何在linux中打印进程的pgd和stack_start值?

javascript - 寻求 Javascript 中的模拟框架

c# - 在计算图中的簇大小时如何避免无限循环?

algorithm - 表明,给定一个查询点 q,可以在时间 O(log n) 内测试 q 是否在 P 内

c - 直接以二进制执行计算机指令

c++ - 如何使用粒子和更深的对象处理 OpenGL 加法混合和深度测试