問題タブ [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.
r - r のプロットの領域内のサブプロット
上の表は、プロットしたいプロットの x(1 列目)と y(2 列目)の座標を示しています。
次のテッセレーションを上記のテッセレーションの 1 つの領域にプロットしたいと考えています。dd$dirsgs を使用してテッセレーションを形成する線を取得できます。この中で、テッセレーションにある各ラインには、それらの終点が与えられます。この最初の 4 列は、それぞれ x1,y1 および x2,y2 座標を示します。これらの座標は、線の終点です。このデータを使用して、上記のテッセレーションのこの 1 つの領域内に次のサブテッセレーションをプロットできます。
次のサブテッセレーションでは、選択した座標を生成できます。しかし、私はそれらが上記のプロットされたテッセレーションの 1 つの領域にあることを望んでいます。
dd$dirsgs の ind 1 と ind2 は、dd$dirsgs の最初の 4 列で表される線で区切られた「d」の点を示します。
たとえば、d の最初の点を含むプロットでサブテッセレーションをプロットする場合、行 1、2、9、12、17 は、d の最初の点の境界を形成する行です。この情報を使用して、この領域内にサブテッセレーションをプロットできますか? –</p>
私の問題を理解するために必要なすべてのことをカバーしたと思います。含まれていないデータが他にある場合は、お知らせください。情報をお伝えします。
r - ボロノイ分割の階層
ボロノイ分割を使用しています。テッセレーションの領域を表すさまざまなポリゴンがあります。
以下のポイントは、図のテッセレーションを描画するために使用されます。
tessdata
以下のようにテッセレーションを描画するための入力として使用します。
サモンの座標は以下の通りです。
サモン座標点を入力するテッセレーションを作成したい。これらのポイントを使用したテッセレーションは、図の領域の1つ内にある必要があります。そのためには、上記のポイントをスケーリングするか、上の図の領域の1つ内のテッセレーションのプロットを制限できます。
必要なデータをすべて網羅したことを願っています。
PS:
sammonのプロジェクションは「MASS」パッケージで提供されます。「deldir」パッケージからのボロノイ分割。
deldir関数出力のdirsgs引数は、テッセレーションの線を形成する点の座標を示します。
パッケージグラフィックスのセグメント関数を使用して、dirsgsから座標が抽出された2つのポイントを結合できます。
javascript - ゲームマップ上に不均一なスペースを作成する
ゲームマップの作成についてアドバイスが必要です。マップ上に1400個のスペースを作成する必要があります。各スペースは10の異なるサイズの1つになると想像しています。たとえば、「サイズ10」のダース、「サイズ9」の40、最小で数百のサイズになります。 -サイズ(これはデータ駆動型です)。また、中央にはニュートラルスペースがあります(おそらく他のすべてよりも少し大きいです)。これらの領域をゲームスペースにランダムに配置したいのですが、重なりやスペースがないようにする必要があります。合計スペースが長方形であるかどうかは関係ありません。私はこの取り組みが本当に好きですが、それは私のリーグからはかなり外れていますが、ボロノイ分割を研究し、javascriptの実装を見つけるようになりましたある程度は理解できますが、これまでに見たすべての例では、原点としてランダムポイントを使用しており、上記で説明したように、よりカスタムな結果を探しているため、これは適切な方法ではない可能性があります。---とにかく、私はどんな提案にもオープンです。私はコーダーではなくデザイナーですが、自分のプロトタイプをコーディングしているので、アドバイスをいただければ幸いです。
c++ - openCv と C++ でボロノイ図を作成する
少し問題があります。openCV と C++ を使用して、BW 画像のボロノイ図を作成する必要があります。Matlab 関数 voronoin の出力のようなものが必要です。
目標は、ダイアグラムの領域ごとにマスクを作成することです。
これは私がMatlabで作った例です:
そのため、領域ごとにマスクを作成するか、別の色にする必要があります。ボロノイ ラベルを取得するために、openCV 関数の distanceTransform を試しました。
結果は次の画像です: voronoi labels openCV
ご覧のとおり、各地域で色が異なります(特にセルに対応するものがあります)が、色だけにする方法はありますか?前もって感謝します
computational-geometry - 3点の最遠点ボロノイ図
これは実際には数学の問題です。しかし、3 点が与えられた場合、どのようにして最遠点ボロノイ図を計算するのでしょうか?
それらすべてを通過する円を見つけて、その中心をつかむことから始めます。ここからどこへ行くべきかわからない。写り方がおかしい
algorithm - 加重ボロノイ図の参照アルゴリズム?
Fortune のボロノイ アルゴリズムに基づいていることが望ましい (乗算的および/または加算的に) 重み付けされたボロノイ図を作成する方法に関する参照実装を教えてもらえますか?
私の目標:ポイントのセット(各ポイントには重みがあります)と境界エッジのセット(通常は長方形)が与えられたら、pythonまたはprocessing.orgフレームワークを使用して重み付きボロノイ図を作成したいと思います。ここに例があります。
これまでに取り組んだこと: これまでのところ、Fortune のアルゴリズムと、 Michael Balzer の論文で提示されている「重心ボロノイ テッセレーション」を実装しました。アルゴリズム 3 は、重みを調整する必要がある方法を示していますが、これを実装すると、ジオメトリが機能しなくなります。これを修正するには、重みを考慮してスイープライン アルゴリズムを更新する必要がありますが、これまでのところ、これを行うことができませんでした。したがって、他の人がこの問題をどのように解決したかを知りたいです。
draw - 2つの異なる点のボロノイ図を描く方法
2つの異なる点に対してボロノイ図を描く方法を理解しようとしています。
誰かが私を助けることができます。
ありがとうございました
artificial-intelligence - トロンの優れたヒューリスティック
AIを使ったトロンゲームをするという宿題があります。私と私のチームはほぼ成功しましたが、適切なヒューリスティックを見つけようとしています。ボロノイについて教えましたが、ちょっと遅いです :
移動するのに 5 秒ありますが、このアルゴリズムはあまり良くありません。コードは必要ありません...必要なのはアイデアだけです! ありがとうございました !
後で編集: Delaunay Triangulations を試す必要がありますか?