我有两个三角网格 m
和 m1
,具有以下属性:
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 公式做出相应的假设,然后求解边并除以面数或点数,但似乎不起作用。因此,任何其他想法将不胜感激。
谢谢。