Как я могу скопировать триангуляцию Делоне в новые точки?

1

В настоящее время я использую функцию Delaunay в scipy.spatial.Delaunay, так же (упрощенно):

import numpy as np
from scipy.spatial import Delaunay

points1 = np.random.rand(10,2)
points2 = np.random.rand(10,2)

tri = Delaunay(points1)
# tri2 = tri(points2)? - need help here

Я хотел бы, чтобы одна и та же триангуляция применялась к point2 - если я снова запустил Delaunay, я мог бы получить другую триангуляцию.

Можно ли "скопировать" одну триангуляцию и применить ее к другому набору точек того же размера?

Теги:
scipy
delaunay

1 ответ

0

Для полноты, основанной на ответе Дэвиса Херринга в comments-

tri.simplices содержит отношение между индексами ввода и не полагается на фактические значения.

если, например, я получил треугольник между points[0], points[3] и points[4], tri.simplices будут содержать [0,3,4].

поэтому для доступа к той же триангуляции с разными "точками" я могу просто получить к ним доступ так:

points2[tri.simplices]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню