Как я могу получить точку сближения треугольника Делоне в Python? - PullRequest
0 голосов
/ 03 июля 2018

В Matlab я могу использовать функцию DelaunayTri и nearNeighbors, чтобы найти ближайшую точку. Код вроде этого:

X1=[1,2,3,4,5,6,7]';
Y1=[1.3,1.5,1.7,1.9,2.1,2.3,2.5]';
Triangulation=DelaunayTri(Y1, X1);

X2=[1.5,2.5,3.5,4.5,5.5]';
Y2=[1.2,2.2,3.2,4.2,5.2]';
NearInd = nearestNeighbor(Triangulation, Y2, X2);
NearPoint = [X1(NearInd), Y1(NearInd)];

Какую функцию я должен использовать в Python, чтобы получить тот же результат?

1 Ответ

0 голосов
/ 03 июля 2018
  1. Вы можете использовать модуль scipy.spatial.Delaunay для триангуляции.
  2. Но для запроса ближайших соседей вам, возможно, придется использовать scipy.spatial.cKDTree. Это отдельно от триангуляции.
  3. Здесь также доступны CGAL привязки для python здесь . Но если вы еще не знакомы с CGAL, возможно, существует некоторая кривая обучения.
  4. Тогда есть также OpenCV для Python пример только для триангуляции.
  5. Существует также PyHull привязок питона для Qhull . Но, опять же, я нигде не вижу поиска соседей.
  6. scikit-learn также имеет поиск соседей, но триангуляции нет.
...