Найти все симплексы, частью которых является точка в scipy.spatial. Delaunay python - PullRequest
0 голосов
/ 24 мая 2018

Можно ли в любом случае получить все симплексы / треугольники, частью которых является определенная точка в триангуляции Делоне, с использованием scipy.spatial.Delaunay?

Я знаю, что есть функция find_simplex(), которая возвращает только 1 треугольник, частью которого является точка, но я хотел бы получить все треугольники, частью которых она является.

Example

Так, в примере, когда я делаю find_simplex() для точки 6, он возвращает только треугольник 2, но я бы хотел, чтобы он возвращал треугольники 1, 2, 3, 4, 10 и9, поскольку точка 6 является частью всех этих треугольников.

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 25 мая 2018

Вы не хотите find_simplex, потому что оно геометрическое, а не топологическое.То есть он рассматривает точку как местоположение, а не как компонент триангуляции: почти все точки лежат только в одном симплексе, поэтому он сообщает об этом.

Вместо этого используйте вершину число .Тривиальным ответом является использование атрибута simplices:

vert=6
[i for i,s in enumerate(d.simplices) if vert in s]

. С большим количеством кода можно выполнять более эффективный поиск, используя vertex_to_simplex и neighborsатрибутов.

...