来自多边形的Javascript Voronoi点

时间:2018-10-19 22:07:42

标签: javascript polygon voronoi delaunay

我正在使用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)数组感兴趣,我不知道该怎么做。

有人可以帮忙吗?

1 个答案:

答案 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])
}