2016-12-11 1 views
0

を使用して隣接する点を見つけますthis_siteに「隣接」しているすべての点の集合?ポイントのランダムなセットの中の一点を考えると、D3のボロノイ

+0

あなたは[ 'diagram.find()'](https://github.com/d3/d3-voronoi#diagram_find)を使用することができます。このドキュメントには素晴らしい[例](http://bl.ocks.org/Fil/1b7ddbcd71454d685d1259781968aefc)へのリンクがあります。 – altocumulus

+0

ありがとうございます。私はその文書をチェックした。おそらく私は誤解したでしょう。 '.find()' "最も近いポイントを返す"と言います。しかし、私は隣り合う点、すなわち隣接するボロノイポリゴンの点の集合を求めています。私は現在あなたが提供した例のコードを読んでいますが、これは私が望むことをするようです。私はそれがどのようにそれを行うか分からない! – RobinL

答えて

0

これにはd3.voronoiを使用できます。

var diagram = voronoi(sites); 
var links = diagram.links() 
var polygons = diagram.polygons() 
polygons.forEach(function(p) { 
    p.adjacent = false 
}) 

var this_site = sites[0] 
var this_polygon = polygons[0] 
var counter = 1 
links.forEach(function(l) { 
    if (l.source == this_site || l.target == this_site) { 

    //get corresponding polygons 
    polygons.forEach(function(p) { 
     if (p.data == l.target || p.data == l.source) { 
     p["adjacent"] = true 
     } 

    }) 
    } 

}) 

ここで働い例です: http://blockbuilder.org/RobinL/76580040f9795503ae9586a9b367aa51

関連する問題