我正在使用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);
返回的图变量是一个具有以下属性的Javascript对象:
diagram.edges, diagram.cells, diagram.vertices
对象diagram.cells包含多个单元格,每个单元格有4个半边。每条半边具有包含x和y值的lSite、rSite、va和vb对象。
然而,我感兴趣的是获得形成voronoi图中每个多边形的点(x,y)的数组,但我不知道如何做到这一点。
有谁能帮帮忙吗?
发布于 2018-10-20 20:24:05
找到它:方法getStartpoint()
可以应用于cell
对象中的所有halfedges
对象,以获得形成多边形的点数组:例如,对于单元格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])
}
https://stackoverflow.com/questions/52900456
复制