使用R和tripack-package绘制仅有三个点的Voronoi图

我尝试绘制三点的Voronoi图:

library(tripack)
x<-c(1.7,-2.2,0.5)
y<-c(-0.6,-0.2,0.8)
v<-voronoi.mosaic(x,y)
plot(v)

然而,它只是显示一个空图.

print(v)

得到:

voronoi mosaic:
nodes: (x,y): neighbours (<0: dummy node)
1: (-0.3238956,-1.120482): -1 -2 -3 
dummy nodes: (x,y)
1: (-0.3238956,-1.120482)
2: (-0.3238956,-1.120482)
3: (-0.3238956,-1.120482)

这是一个错误吗?这有道理吗?根据我的理解,从三点构建Voronoi图表应该是完美的.

最佳答案
是的,这可能被认为是一个错误,因为the definition of Voronoi regions对于只有两个发电机点的集合很有意义.

deldir软件包(也实现了Delauney三角剖分和Dirichlet(Voronoi)细分)确实可以正确处理三个(并且只有两个)生成点的集合.

library(deldir)
x <- c(1.7,-2.2,0.5)
y <- c(-0.6,-0.2,0.8)

par(mfcol=c(1,2))
plot(deldir(x, y), asp=1)
plot(deldir(x[1:2], y[1:2]), asp=1)

enter image description here

转载注明原文:使用R和tripack-package绘制仅有三个点的Voronoi图 - 代码日志