我正在使用R. Hill's Voronoi implementation使用点数组来创建多边形:
sites=[{x:23, y:33}, {...}]
,还使用画布大小的数组:
box = {xl: 0, xr: 800, yt: 0, yb: 600}
Vornoi生成为:
var diagram = voronoi.compute(sites, bbox);
返回的“ diagram”变量是具有以下属性的Javascript对象:
diagram.edges, diagram.cells, diagram.vertices
对象图。单元包含多个单元,每个单元具有4个半边。每个半边都有一个包含x和y值的lSite,rSite,va和vb对象。
但是,我对获取形成voronoi图中每个多边形的点(x,y)数组感兴趣,我不知道该怎么做。
有人可以帮忙吗?
答案 0 :(得分:0)
发现它:方法getStartpoint()
可以应用于halfedges
对象中的所有cell
对象,以获得形成多边形的点数组:
例如,单元格0:
var cellpoints=[];
for(e=0; e<diagram.cells[0].halfedges.length; e++){
cellpoints.push([diagram.cells[0].halfedges[e].getStartpoint().x, diagram.cells[0].halfedges[e].getStartpoint().y])
}