Создание регулярной сетки Delaunay в scipy

Есть ли какой-нибудь метод получения триангуляции в 2D, который более упорядочен, как производит Matlab Delaunay? Вот пример триангуляции 2D Delaunay от Matlab.

matlab delaunay

Используя этот код:

xPoints = np.arange(0,11,1) yPoints = np.arange(0,11,1) gridPoints = np.array([[x,y] for y in yPoints for x in xPoints]) tri = Delaunay(gridPoints) plt.triplot(gridPoints[:,0],gridPoints[:,1],tri.simplices.copy()) plt.plot(gridPoints[:,0],gridPoints[:,1],'bo') plt.title("Triangulation Visualization") 

Я получаю триангуляцию ниже:

scipy delaunay

Обратите внимание, что диагональные дуги в результате Matlab имеют одинаковый наклон; но те, кто в scipy результате, меняются. Поскольку Matlab и Scipy используют QHull внутренне, я предполагаю, что есть некоторый метод для имитации результата Matlab.

One Solution collect form web for “Создание регулярной сетки Delaunay в scipy”

Вы можете попробовать триангуляцию вместо Delaunay:

 import matplotlib.tri as tri xlen = 10 ylen = 16 xPoints = np.arange(0,xlen+1,1) yPoints = np.arange(0,ylen+1,1) gridPoints = np.array([[[x,y] for y in yPoints] for x in xPoints]) a = [[i+j*(ylen+1),(i+1)+j*(ylen+1),i+(j+1)*(ylen+1)] for i in range(ylen) for j in range(xlen)] triang = tri.Triangulation(gridPoints[:,:,0].flatten(), gridPoints[:,:,1].flatten(),a) plt.triplot(triang) plt.plot(gridPoints[:,:,0],gridPoints[:,:,1],'bo') plt.title("Triangulation Visualization") 

введите описание изображения здесь

  • Сохранение и загрузка Python dict с помощью savemat приводит к ошибке
  • Почему вычисления собственных векторов матрицы 2 на 2 с numpy вызывают мой сеанс Python?
  • Как использовать функцию минимизации в scipy с ограничениями
  • Обрезка дендрограммы на уровнях в Scipy Hierarchical Clustering
  • Повторная выборка массива numpy, представляющего изображение
  • Система Scipy - нелинейные уравнения с линейными ограничениями (новичок)
  • AttributeError: объект 'module' (scipy) не имеет атрибута 'misc'
  • Ошибка кубической сплайновой памяти
  • Как использовать функцию lesssq из scipy.optimize в python, чтобы поместить как прямую линию, так и квадратичную линию в наборы данных x и y
  • Вычислить подмножество матричного умножения
  • Поиск корней с помощью scipy.optimize.root
  • Python - лучший язык программирования в мире.