Я пытаюсь построить гексагональную / геодезическую сетку на сфере. Для моих целей я сосредоточен только на Северном полюсе. До сих пор мне удалось построить треугольную сетку на основе икосаэдра, используя пакет stripy
. Пакет stripy
позволяет мне уточнить сетку путем деления пополам: каждое ребро делится пополам или, что то же самое, каждый треугольник делится на 4 меньших треугольника.
I want to create an (almost) hexagonal grid by combining 6 triangles (5 at the pole) as follows:
У меня естьдоступна следующая информация:
- широта / долгота всех вершин как
np.array
- триплеты индексов вершин треугольника
Ограничение заключается в том, что индексыскорее "случайные", то есть они не увеличиваются, если идти по спирали или что-то подобное.
Можно найти середины каждого шестиугольника (/ пятиугольника) и сгруппировать все треугольники, которыеиметь эту среднюю точку в качестве одной из своих трех вершин, но я не уверен, как алгоритмически сделать это. Каков будет эффективный способ найти вершины, обозначающие середины каждого шестиугольника? Может ли это быть каким-то образом связано с более грубой версией сетки (т.е. до деления пополам)?