【发布时间】:2019-10-02 22:19:41
【问题描述】:
我正在尝试在球体上构建六边形/测地线网格。出于我的目的,我只关注北极。到目前为止,我已经设法使用stripy 包构建了一个基于二十面体的三角形网格。 stripy 包允许我通过二等分来细化网格:每条边被分成两半,或者等效地,每个三角形被分成 4 个较小的三角形。
我想通过组合 6 个三角形(5 个在极点)来创建一个(几乎)六边形网格,如下所示:
我有以下可用信息:
- 所有顶点的纬度/经度为
np.array - 三角形顶点索引的三元组
一个限制是索引是相当“随机的”,即它们不会以螺旋形或类似的方式向外增加。
一个选项是找到每个六边形(/五边形)的中点,并将所有以该中点作为三个顶点之一的三角形组合在一起,但我不知道如何通过算法来解决这个问题。找到标记每个六边形中点的顶点的有效方法是什么?会不会以某种方式与网格的较粗版本相关(即在二等分之前)?
【问题讨论】:
-
你尝试过什么来识别相邻的顶点?蛮力只是为每个顶点(除了极点)搜索最近的六个顶点,不是吗?你试过吗?
-
不确定如何选择要计算其邻居的顶点以避免重叠...
-
@Spektre:我看过那篇帖子,但这些是构建网格的完全不同的方式,而现在我想使用我已经生成的网格来解决问题。
-
@falidoro 在这种情况下,您应该添加一个包含您的网格的 MCVE,否则这里没有人能够以这种方式提供帮助...
标签: python algorithm mesh triangulation