отсечение вороной диаграммы питона
Я вычисляю диаграмму вороного из набора точек следующим образом:
from scipy.spatial import Voronoi
import numpy as np
np.random.seed(0)
points = np.random.uniform(-0.5, 0.5, (100, 2))
// Compute Voronoi
v = Voronoi(points)
voronoi_plot_2d(v)
plt.show()
Это создает изображение следующим образом:
Как можно видеть, это создает вершины, которые идут в бесконечность (пунктирные линии), а также выходят за исходную ограничивающую рамку для точек, которая:
bbox = np.array([[-0.5, -0.5], [0.5, -0.5], [0.5, 0.5], [-0.5, 0.5]])
То, что я хотел бы сделать, это закрепить диаграмму Вороного в этой ограничительной рамке, то есть спроецировать за пределы и бесконечные вершины в соответствующие местоположения в этой ограничительной рамке. Таким образом, вершины нужно было бы переставить и спроецировать обратно на правильные точки пересечения из бесконечности или конечных вершин, но которые выходят за границы моей области отсечения.