假设我们有一个带有 N 个点的无组织点云 P1,每个点的坐标为 {x,y,z}。我们对P1应用非刚性变换(平移+旋转+翘曲),得到点云P2。给定 P1 和 P2 中的一对对应点,我们如何在不执行显式网格划分的情况下有效地估计该点周围局部点密度的变化?换句话说,如何估计变换后每个点周围的局部空间压缩/扩展?考虑膨胀/压缩可能不是各向同性的。
估计点云变换的局部压缩/膨胀比
计算科学
线性代数
有限元
计算几何
有限体积
离散化
2021-12-05 13:13:15
1个回答
如果您只想知道密度的变化,您对与变换相关的应力张量的膨胀或体积应变感兴趣。
如果您还想了解拉伸的各向异性,您应该查看计算正确的 Cauchy-Green 变形张量,,它是相关的特征值和特征向量。该张量的特征向量定义了变形的主轴,特征值等于沿这些轴的拉伸比的平方。密度比由行列式的平方根给出等于特征值的平方根:.
要进行这些计算,您需要计算(或至少估计)转换的导数。如果你能分析地做到这一点,那么问题就很简单了。如果不是,计算这些量的相关张量的最简单方法是在云中每个点周围的模板中的 6 个附加点上执行转换,然后使用这些计算应力/变形项的有限差分近似张量。这通常用于计算用于计算拉格朗日相干结构 (LCS)的 Cauchy-Green 变形张量用于流体流动分析。如果使用中心差异,则此方法在模板尺寸上是二阶精度,但如果变形足够大以至于转换在模板规模上不是近似线性的,则会很快失去准确性。
如果您无法对任意点执行变换,您可以使用您知道的点来估计变形张量。最简单的方法是选择给定点的 N 个邻居并使用这些邻居来估计变形张量。这可以表述为最小二乘问题来确定 3x3 变换矩阵的分量,, 这样哪里下标表示兴趣点和表示邻居。在 3D 中,您至少需要 3 个邻居来确定(3 个点 x 3 个分量 {x,y,z} 为 9 个条目提供 9 个线性方程)。变形张量由下式给出. 这种方法在点间距上是一阶精度的,当点之间的距离足够远时会很快失去精度,以至于变换在所使用的邻域上不是局部线性的。如果我没记错的话,这就是本文中用于计算变形张量以在非结构化网格上找到 LCS 的方法。作为旁注,如果您在有限差分模板中的点的位置使用 6 个邻居,则此方法可证明等效于使用居中有限差分(并恢复二阶精度)。
其它你可能感兴趣的问题