Как определить краевые ячейки тесселяции Вороного точек в единичном квадрате

Есть ли какой-нибудь более простой способ обнаружить клетки Вороного, которые пересекаются с краем? Я увеличиваю границы единичного квадрата на 0,1 и пересчитываю площади ячеек. Затем я проверяю, какие области ячеек увеличились, так что это автоматически является краевой ячейкой. я использовал tripack как хорошо, но функция voronoi.findrejectsites но он требует объекта триангуляции и принимает границу как выпуклую оболочку точек, а не определенную границу, такую ​​как единичный квадрат.

Я делаю тесселяцию Вороного из пунктов следующим образом.

library(spatstat)

x = runif(100, min = 0, max = 1)
y = runif(100, min = 0, max = 1)

dir = ppp(x=x, y=y, window = square(c(0,1)))
tess = dirichlet(dir)
plot(tess, main = "")
points(dir, pch=19, cex = 0.5)

Тогда получите участок тесселяции Вороного 100 баллов

Так как же определить ячейки на краю (границе)?

0 ответов

Другие вопросы по тегам