计算细分网格的最大边长

问题描述

我有两个三角网格 mm1,具有以下属性

m_faces: 16640
m_points: 49920
m_surface_area: 178.82696989147524

m1_faces: 8
m1_points: 24
m1_surface_area: 1.440205667851934

现在我想细分 m1 以便它有大约。与 m 相同的面数,即 16640。我使用的是 vtk 库,更具体地说是 vtkAdaptiveSubdivisionFilter() 函数,根据描述:

…is a filter that subdivides triangles based on maximum edge length and/or triangle area.

我的问题是如何计算最大边长,根据一些试验和错误,我发现这需要是 [0.0188-0.0265]间的一个值,它给了我 16384 个面。但是,我找不到任何公式可以给出这个比率范围内的数字并且在不同情况下是一致的。知道如何每次计算这个最大边长吗?

在另一个例子中,我有以下两个网格:

Sph1_faces: 390
Sph1_points: 1170
Sph1_surface_area: 1.9251713393584104

Sph2_faces: 1722
Sph2_points: 5166
Sph2_suface_area: 10.59400389764954

为了使 Sph1 的面数接近 Sph2 的面数,最大边长应该在 [0.089-0.09] 之间,这为 Sph1 提供了 1730 个面。>

我尝试使用 equilateral triangle area 公式做出相应的假设,然后求解边并除以面数或点数,但似乎不起作用。因此,任何其他想法将不胜感激。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)