三角形()を使用してこれを検出し、いくつかの点を補間するためのメッシュを生成します。私のポイントのいくつかは三角形の中にないことに気づいた。三角形がメッシュにないことに驚きました。私のデータを4つの頂点に整理すると、2つの三角形が得られるはずですが、ただ1つしかありません。私は頂点を少し微調整しようとしましたが、結果として期待される三角形の数になります。d3.voronoi.trianglesの戻り値に三角形がないのはなぜですか?
v = require("d3-voronoi").voronoi();
vertices = [[47.307,105.33],[51.707,104.13],[52.717,110.74],[53.917,106.34]];
console.log(v.triangles(vertices)); // returns 1 triangle
vertices[3][1] += 0.001 // tweak one of the values slightly
console.log(v.triangles(vertices)); // returns 2 triangles (as expected)
https://tonicdev.com/56f99ca738ca281100ea16ad/573f3672a04fd4110009ee44
私が使用したアルゴリズムに精通していないよので、私は(成功した場合に、障害のパスを比較する)しかしD3-ボロノイステッピング多くの幸運を持っていませんでした。
私は数値エラーを疑いますが、私はこの問題を追跡または回避する方法がわかりません。
d3-voronoi(理想的には)の問題を解決するための助けや、別の(数値的に安定した)メッシュ生成関数の推奨事項を探してください。
私はこのバグを別のパッケージに切り替えることによって解決しました:[delaunay-triangulate](https://www.npmjs.com/package/delaunay - 三角形) –