問題タブ [voronoi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
314 参照

r - R deldir と数字の代わりのカスタム名

R でボロノイ図を作成しようとしています。図自体のプロットは正常に機能していますが、プロットのさまざまなタイルのラベル付けに問題があります。

私が使用しているコードは次のとおりです。

ダイアグラムをプロットする前にカスタム ラベルの番号を交換することは可能ですか?

0 投票する
1 に答える
2276 参照

3d - Java 7 を使用した球状のボロノイ テッセレーション: 面の周りに頂点を巻き付けるための修正が必要

球の表面に分布するポイントのボロノイ分割を見つけることを含む問題に取り組んでいます。私が知る限り、視覚的には点の Delaunay 三角形分割を見つけるように見えるので、私の力ずくのアプローチはうまくいきます。ただし、頂点を使用して各面のエッジの順序を定義すると、アルゴリズムが失敗するようです。

私が目指していることの例として、2 つの頂点が複数の形成点を共有しているかどうかを判断することによってエッジを決定するハックを使用して、エッジを正しく決定するバージョンの写真を次に示します。面の立体角を計算し、OpenGL のような 3D レンダリング API 用のジオメトリを生成できるようにするためにテッセレーションを使用したいので、このハックでは十分ではないことに注意してください。

失敗した球状ボロノイ分割

赤い円は、球の表面に分布する点です。黄色の線はこれらの点の Delaunay 三角形分割を示し、緑色の線はボロノイ セル間の頂点を定義するために使用される点を示し、黒色の線は頂点によって形成されるエッジを示します。各セルは、点または線の近くにない各ピクセルを、セルの定義点を色に変換することによって決定される色に設定することによって色付けされます。これは、テッセレーション プロセスとは別に実行されます。面の色の値を比較するにはツールを使用する必要があるかもしれませんが、面が面に正しく囲まれていることを示すことができます。これは、私のコードがドロネー三角形分割とボロノイ分割の頂点を正しく決定していることを示しているようです。

ハックを取り除き、顔のポイントを反時計回りに並べ替えるために書いた関数を使用すると、説明できない結果が得られます。私のプログラムを実行するたびに異なるランダム ポイントのセットが生成されるため、これら 2 つの図は同じポイント分布を表すものではないことに注意してください。

失敗した球状ボロノイ分割

問題を示す顔の周りに赤いボックスを描きました。これらのセルには面を通る黒い線があり、一部のエッジがまったく表示されない可能性があることに注意してください (右下のボックスを参照)。

この StackOverflow questionで説明されているアルゴリズムを使用して、ポイントの反時計回りの順序を決定しています。同じ関数を使用して、セルの周囲の頂点の順序を決定し、3 点の外心を決定します。コードにバグがある場合、コードが 3 点の場合に失敗することが予想され、その結果、Delaunay テッセレーションに問題が発生します (順序にエラーがあると、外心を反対側に配置することになるため)。しかし、何十回もの実行でクラッシュしたり、Delaunay テッセレーションの欠陥を明らかにしたりしたことはありません。何時間もコードと格闘しましたが、問題が見つかりません。誰かがこの問題が発生する理由を理解できますか?

以下は、コードの要約リストであり、すべての重要な点がリストされていることを願っています。これは、何かを機能させるために私が書いた複数のファイルからのコードの融合です。アルゴリズムが機能するまで、コードをクリーンアップしようとしない傾向があります。また、使用されていない場合は、インクルードまたは必要なインターフェイス メソッドの実装も入れませんでした。

この特定の問題を修正するための洞察をいただければ幸いです。

0 投票する
1 に答える
306 参照

algorithm - 多角形をさまざまなサイズのボックスに分割する

このブログに示されているようなアルゴリズムを作成するための情報/リソースを指摘したいと思います。これは、多角形 (私の場合はボロノイ セル) をさまざまなサイズのいくつかのボックスに分割したものです。

http://procworld.blogspot.nl/2011/07/city-lots.html

コメントでは、特にブログの著者による論文を見つけることができますが、リストされている唯一の式は、候補地の適合性に関するものです。

http://www.groenewegen.de/delft/thesis-final/ProceduralCityLayoutGeneration-Preprint.pdf

どの言語でもかまいませんが、例を挙げることができる場合は Javascript が優先されます (私が現在使用している言語であるため)

同様の質問は次のとおりです

[編集]: 最初に何かを見つけましたが、完全に探していたものではありません: http://www2.stetson.edu/~efriedma/squintri/

0 投票する
0 に答える
473 参照

javascript - リーフレット マップ上のボロノイの位置が正しくない

リーフレット マップ上のボロノイ図の配置とスケーリングに苦労しています。ボロノイ ポリゴンは、マップに追加された後は正しく表示されますが、サイズ変更後は正しくスケーリングおよび変換されません。機能要素にパンおよびズームした後、パスをリセットしようとしました。しかし、新しい値が親の要素に渡されているようです。feature.selectAll('path).attr('d',path) にパスを設定すると、スケーリングと変換は完全に正しいですが、代わりにボロノイ ポリゴンを意味するボロノイが表示されます。何か案が?

よろしくお願いします、

フロー

0 投票する
1 に答える
4445 参照

java - 一連の線分の 2D ボロノイ図を計算するための Java ライブラリはありますか?

線分を収集するためのボロノイ図の計算は、コンピュータ サイエンスで最も研究されている問題の 1 つと見なされることが多く、多くの実用的なアプリケーションがあります。

それでも、Javaライブラリでその実装を見つけることができませんでした(これは私が見つけた最高のライブラリで、C ++で書かれています)。Java で最高のジオメトリ API の 1 つであるJTSには、一連の点からボロノイ図を計算するアルゴリズムのみが含まれています。

現在、このダイアグラムを計算するいくつかのアルゴリズムに関する記事を読んでいます。他のすべてが失敗した場合は、そのうちの 1 つを自分で実装しようとしますが、既に作成されたコードを再利用できれば、もっとうれしいです。そしてテストされました。

検索で見落としていた一連の線分のボロノイ図を計算するためのライブラリがあるのではないでしょうか?